mirror of
				https://github.com/johrpan/musicus.git
				synced 2025-10-26 11:47:25 +01:00 
			
		
		
		
	Disable focus on action rows with child widgets
This commit is contained in:
		
							parent
							
								
									61a440e45c
								
							
						
					
					
						commit
						2c1fe19b05
					
				
					 35 changed files with 162 additions and 124 deletions
				
			
		|  | @ -68,6 +68,7 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|  |                                     <property name="activatable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Loading…</property> |                                     <property name="title" translatable="yes">Loading…</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|                                       <object class="GtkSpinner"> |                                       <object class="GtkSpinner"> | ||||||
|  | @ -88,8 +89,8 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow" id="error_row"> |                                   <object class="AdwActionRow" id="error_row"> | ||||||
|  |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Error while searching for matching metadata</property> |                                     <property name="title" translatable="yes">Error while searching for matching metadata</property> | ||||||
|                                     <property name="activatable">True</property> |  | ||||||
|                                     <property name="activatable-widget">try_again_button</property> |                                     <property name="activatable-widget">try_again_button</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|                                       <object class="GtkButton" id="try_again_button"> |                                       <object class="GtkButton" id="try_again_button"> | ||||||
|  | @ -111,6 +112,7 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|  |                                     <property name="activatable">False</property> | ||||||
|                                     <property name="title" translatable="yes">No matching metadata found</property> |                                     <property name="title" translatable="yes">No matching metadata found</property> | ||||||
|                                   </object> |                                   </object> | ||||||
|                                 </child> |                                 </child> | ||||||
|  | @ -150,8 +152,8 @@ | ||||||
|                         <property name="selection-mode">none</property> |                         <property name="selection-mode">none</property> | ||||||
|                         <child> |                         <child> | ||||||
|                           <object class="AdwActionRow"> |                           <object class="AdwActionRow"> | ||||||
|  |                             <property name="focusable">False</property> | ||||||
|                             <property name="title" translatable="yes">Select existing medium</property> |                             <property name="title" translatable="yes">Select existing medium</property> | ||||||
|                             <property name="activatable">True</property> |  | ||||||
|                             <property name="activatable-widget">select_button</property> |                             <property name="activatable-widget">select_button</property> | ||||||
|                             <child> |                             <child> | ||||||
|                               <object class="GtkButton" id="select_button"> |                               <object class="GtkButton" id="select_button"> | ||||||
|  | @ -163,8 +165,8 @@ | ||||||
|                         </child> |                         </child> | ||||||
|                         <child> |                         <child> | ||||||
|                           <object class="AdwActionRow"> |                           <object class="AdwActionRow"> | ||||||
|  |                             <property name="focusable">False</property> | ||||||
|                             <property name="title" translatable="yes">Add a new medium</property> |                             <property name="title" translatable="yes">Add a new medium</property> | ||||||
|                             <property name="activatable">True</property> |  | ||||||
|                             <property name="activatable-widget">add_button</property> |                             <property name="activatable-widget">add_button</property> | ||||||
|                             <child> |                             <child> | ||||||
|                               <object class="GtkButton" id="add_button"> |                               <object class="GtkButton" id="add_button"> | ||||||
|  |  | ||||||
|  | @ -69,7 +69,7 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Username</property> |                                     <property name="title" translatable="yes">Username</property> | ||||||
|                                     <property name="activatable-widget">username_entry</property> |                                     <property name="activatable-widget">username_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -82,7 +82,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Password</property> |                                     <property name="title" translatable="yes">Password</property> | ||||||
|                                     <property name="activatable-widget">password_entry</property> |                                     <property name="activatable-widget">password_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -120,7 +120,7 @@ | ||||||
|                                     <property name="selection-mode">none</property> |                                     <property name="selection-mode">none</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|                                       <object class="AdwActionRow"> |                                       <object class="AdwActionRow"> | ||||||
|                                         <property name="activatable">True</property> |                                         <property name="focusable">False</property> | ||||||
|                                         <property name="title" translatable="yes">Register a new account</property> |                                         <property name="title" translatable="yes">Register a new account</property> | ||||||
|                                         <property name="activatable-widget">register_button</property> |                                         <property name="activatable-widget">register_button</property> | ||||||
|                                         <child> |                                         <child> | ||||||
|  | @ -159,7 +159,7 @@ | ||||||
|                                     <property name="selection-mode">none</property> |                                     <property name="selection-mode">none</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|                                       <object class="AdwActionRow"> |                                       <object class="AdwActionRow"> | ||||||
|                                         <property name="activatable">True</property> |                                         <property name="focusable">False</property> | ||||||
|                                         <property name="title" translatable="yes">Don't use an account</property> |                                         <property name="title" translatable="yes">Don't use an account</property> | ||||||
|                                         <property name="activatable-widget">logout_button</property> |                                         <property name="activatable-widget">logout_button</property> | ||||||
|                                         <child> |                                         <child> | ||||||
|  |  | ||||||
|  | @ -71,7 +71,7 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow" id="name_row"> |                                   <object class="AdwActionRow" id="name_row"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Name of the medium</property> |                                     <property name="title" translatable="yes">Name of the medium</property> | ||||||
|                                     <property name="activatable-widget">name_entry</property> |                                     <property name="activatable-widget">name_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -84,7 +84,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Publish to the server</property> |                                     <property name="title" translatable="yes">Publish to the server</property> | ||||||
|                                     <property name="activatable-widget">publish_switch</property> |                                     <property name="activatable-widget">publish_switch</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  |  | ||||||
|  | @ -51,7 +51,7 @@ | ||||||
|                     <property name="selection-mode">none</property> |                     <property name="selection-mode">none</property> | ||||||
|                     <child> |                     <child> | ||||||
|                       <object class="AdwActionRow" id="person_row"> |                       <object class="AdwActionRow" id="person_row"> | ||||||
|                         <property name="activatable">True</property> |                         <property name="focusable">False</property> | ||||||
|                         <property name="title" translatable="yes">Select a person</property> |                         <property name="title" translatable="yes">Select a person</property> | ||||||
|                         <property name="activatable-widget">person_button</property> |                         <property name="activatable-widget">person_button</property> | ||||||
|                         <child> |                         <child> | ||||||
|  | @ -64,7 +64,7 @@ | ||||||
|                     </child> |                     </child> | ||||||
|                     <child> |                     <child> | ||||||
|                       <object class="AdwActionRow" id="ensemble_row"> |                       <object class="AdwActionRow" id="ensemble_row"> | ||||||
|                         <property name="activatable">True</property> |                         <property name="focusable">False</property> | ||||||
|                         <property name="title" translatable="yes">Select an ensemble</property> |                         <property name="title" translatable="yes">Select an ensemble</property> | ||||||
|                         <property name="activatable-widget">ensemble_button</property> |                         <property name="activatable-widget">ensemble_button</property> | ||||||
|                         <child> |                         <child> | ||||||
|  | @ -77,7 +77,7 @@ | ||||||
|                     </child> |                     </child> | ||||||
|                     <child> |                     <child> | ||||||
|                       <object class="AdwActionRow" id="role_row"> |                       <object class="AdwActionRow" id="role_row"> | ||||||
|                         <property name="activatable">True</property> |                         <property name="focusable">False</property> | ||||||
|                         <property name="title" translatable="yes">Select a role</property> |                         <property name="title" translatable="yes">Select a role</property> | ||||||
|                         <property name="activatable-widget">role_button</property> |                         <property name="activatable-widget">role_button</property> | ||||||
|                         <child> |                         <child> | ||||||
|  |  | ||||||
|  | @ -14,6 +14,7 @@ | ||||||
|             <property name="title" translatable="yes">Music library</property> |             <property name="title" translatable="yes">Music library</property> | ||||||
|             <child> |             <child> | ||||||
|               <object class="AdwActionRow" id="music_library_path_row"> |               <object class="AdwActionRow" id="music_library_path_row"> | ||||||
|  |                 <property name="focusable">False</property> | ||||||
|                 <property name="title" translatable="yes">Music library folder</property> |                 <property name="title" translatable="yes">Music library folder</property> | ||||||
|                 <property name="activatable-widget">select_music_library_path_button</property> |                 <property name="activatable-widget">select_music_library_path_button</property> | ||||||
|                 <property name="subtitle" translatable="yes">None selected</property> |                 <property name="subtitle" translatable="yes">None selected</property> | ||||||
|  | @ -33,6 +34,7 @@ | ||||||
|             <property name="title" translatable="yes">Server connection</property> |             <property name="title" translatable="yes">Server connection</property> | ||||||
|             <child> |             <child> | ||||||
|               <object class="AdwActionRow" id="url_row"> |               <object class="AdwActionRow" id="url_row"> | ||||||
|  |                 <property name="focusable">False</property> | ||||||
|                 <property name="title" translatable="yes">Server URL</property> |                 <property name="title" translatable="yes">Server URL</property> | ||||||
|                 <property name="activatable-widget">url_button</property> |                 <property name="activatable-widget">url_button</property> | ||||||
|                 <property name="subtitle" translatable="yes">Not set</property> |                 <property name="subtitle" translatable="yes">Not set</property> | ||||||
|  | @ -47,6 +49,7 @@ | ||||||
|             </child> |             </child> | ||||||
|             <child> |             <child> | ||||||
|               <object class="AdwActionRow" id="login_row"> |               <object class="AdwActionRow" id="login_row"> | ||||||
|  |                 <property name="focusable">False</property> | ||||||
|                 <property name="title" translatable="yes">Login credentials</property> |                 <property name="title" translatable="yes">Login credentials</property> | ||||||
|                 <property name="activatable-widget">login_button</property> |                 <property name="activatable-widget">login_button</property> | ||||||
|                 <property name="subtitle" translatable="yes">Not logged in</property> |                 <property name="subtitle" translatable="yes">Not logged in</property> | ||||||
|  |  | ||||||
|  | @ -75,7 +75,7 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow" id="work_row"> |                                   <object class="AdwActionRow" id="work_row"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Select a work</property> |                                     <property name="title" translatable="yes">Select a work</property> | ||||||
|                                     <property name="activatable-widget">work_button</property> |                                     <property name="activatable-widget">work_button</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -88,7 +88,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Comment</property> |                                     <property name="title" translatable="yes">Comment</property> | ||||||
|                                     <property name="activatable-widget">comment_entry</property> |                                     <property name="activatable-widget">comment_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -101,7 +101,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Publish to the server</property> |                                     <property name="title" translatable="yes">Publish to the server</property> | ||||||
|                                     <property name="activatable-widget">upload_switch</property> |                                     <property name="activatable-widget">upload_switch</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  |  | ||||||
|  | @ -102,7 +102,7 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Username</property> |                                     <property name="title" translatable="yes">Username</property> | ||||||
|                                     <property name="activatable-widget">username_entry</property> |                                     <property name="activatable-widget">username_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -115,7 +115,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                  <child> |                                  <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">E-mail (optional)</property> |                                     <property name="title" translatable="yes">E-mail (optional)</property> | ||||||
|                                     <property name="activatable-widget">email_entry</property> |                                     <property name="activatable-widget">email_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -147,7 +147,7 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Password</property> |                                     <property name="title" translatable="yes">Password</property> | ||||||
|                                     <property name="activatable-widget">password_entry</property> |                                     <property name="activatable-widget">password_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -162,7 +162,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Repeat password</property> |                                     <property name="title" translatable="yes">Repeat password</property> | ||||||
|                                     <property name="activatable-widget">repeat_password_entry</property> |                                     <property name="activatable-widget">repeat_password_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -202,7 +202,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Your answer</property> |                                     <property name="title" translatable="yes">Your answer</property> | ||||||
|                                     <property name="activatable-widget">captcha_entry</property> |                                     <property name="activatable-widget">captcha_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  |  | ||||||
|  | @ -40,7 +40,7 @@ | ||||||
|             <property name="selection-mode">none</property> |             <property name="selection-mode">none</property> | ||||||
|             <child> |             <child> | ||||||
|               <object class="AdwActionRow"> |               <object class="AdwActionRow"> | ||||||
|                 <property name="activatable">True</property> |                 <property name="focusable">False</property> | ||||||
|                 <property name="title" translatable="yes">URL</property> |                 <property name="title" translatable="yes">URL</property> | ||||||
|                 <property name="activatable-widget">url_entry</property> |                 <property name="activatable-widget">url_entry</property> | ||||||
|                 <child> |                 <child> | ||||||
|  |  | ||||||
|  | @ -61,7 +61,7 @@ | ||||||
|                         <property name="selection-mode">none</property> |                         <property name="selection-mode">none</property> | ||||||
|                         <child> |                         <child> | ||||||
|                           <object class="AdwActionRow" id="recording_row"> |                           <object class="AdwActionRow" id="recording_row"> | ||||||
|                             <property name="activatable">True</property> |                             <property name="focusable">False</property> | ||||||
|                             <property name="title" translatable="yes">Select a recording</property> |                             <property name="title" translatable="yes">Select a recording</property> | ||||||
|                             <property name="activatable-widget">select_recording_button</property> |                             <property name="activatable-widget">select_recording_button</property> | ||||||
|                             <child> |                             <child> | ||||||
|  |  | ||||||
|  | @ -75,7 +75,7 @@ | ||||||
|                                 <property name="selection-mode">none</property> |                                 <property name="selection-mode">none</property> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow" id="composer_row"> |                                   <object class="AdwActionRow" id="composer_row"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Select a composer</property> |                                     <property name="title" translatable="yes">Select a composer</property> | ||||||
|                                     <property name="activatable-widget">composer_button</property> |                                     <property name="activatable-widget">composer_button</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -88,7 +88,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Title</property> |                                     <property name="title" translatable="yes">Title</property> | ||||||
|                                     <property name="activatable-widget">title_entry</property> |                                     <property name="activatable-widget">title_entry</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  | @ -101,7 +101,7 @@ | ||||||
|                                 </child> |                                 </child> | ||||||
|                                 <child> |                                 <child> | ||||||
|                                   <object class="AdwActionRow"> |                                   <object class="AdwActionRow"> | ||||||
|                                     <property name="activatable">True</property> |                                     <property name="focusable">False</property> | ||||||
|                                     <property name="title" translatable="yes">Publish to the server</property> |                                     <property name="title" translatable="yes">Publish to the server</property> | ||||||
|                                     <property name="activatable-widget">upload_switch</property> |                                     <property name="activatable-widget">upload_switch</property> | ||||||
|                                     <child> |                                     <child> | ||||||
|  |  | ||||||
|  | @ -55,7 +55,7 @@ | ||||||
|                     <property name="selection-mode">none</property> |                     <property name="selection-mode">none</property> | ||||||
|                     <child> |                     <child> | ||||||
|                       <object class="AdwActionRow"> |                       <object class="AdwActionRow"> | ||||||
|                         <property name="activatable">True</property> |                         <property name="focusable">False</property> | ||||||
|                         <property name="title" translatable="yes">Title</property> |                         <property name="title" translatable="yes">Title</property> | ||||||
|                         <property name="activatable-widget">title_entry</property> |                         <property name="activatable-widget">title_entry</property> | ||||||
|                         <child> |                         <child> | ||||||
|  |  | ||||||
|  | @ -55,7 +55,7 @@ | ||||||
|                     <property name="selection-mode">none</property> |                     <property name="selection-mode">none</property> | ||||||
|                     <child> |                     <child> | ||||||
|                       <object class="AdwActionRow"> |                       <object class="AdwActionRow"> | ||||||
|                         <property name="activatable">True</property> |                         <property name="focusable">False</property> | ||||||
|                         <property name="title" translatable="yes">Title</property> |                         <property name="title" translatable="yes">Title</property> | ||||||
|                         <property name="activatable-widget">title_entry</property> |                         <property name="activatable-widget">title_entry</property> | ||||||
|                         <child> |                         <child> | ||||||
|  |  | ||||||
|  | @ -136,12 +136,14 @@ impl Screen<Option<Recording>, Recording> for RecordingEditor { | ||||||
|                 }); |                 }); | ||||||
|             })); |             })); | ||||||
| 
 | 
 | ||||||
|             let row = adw::ActionRow::new(); |             let row = adw::ActionRowBuilder::new() | ||||||
|             row.set_activatable(true); |                 .focusable(false) | ||||||
|             row.set_title(&performance.get_title()); |                 .activatable_widget(&edit_button) | ||||||
|  |                 .title(&performance.get_title()) | ||||||
|  |                 .build(); | ||||||
|  | 
 | ||||||
|             row.add_suffix(&delete_button); |             row.add_suffix(&delete_button); | ||||||
|             row.add_suffix(&edit_button); |             row.add_suffix(&edit_button); | ||||||
|             row.set_activatable_widget(Some(&edit_button)); |  | ||||||
| 
 | 
 | ||||||
|             row.upcast() |             row.upcast() | ||||||
|         })); |         })); | ||||||
|  |  | ||||||
|  | @ -161,8 +161,10 @@ impl Screen<Option<Work>, Work> for WorkEditor { | ||||||
|                     this.instrument_list.update(length); |                     this.instrument_list.update(length); | ||||||
|                 })); |                 })); | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_title(&instrument.name); |                     .title(&instrument.name) | ||||||
|  |                     .build(); | ||||||
|  | 
 | ||||||
|                 row.add_suffix(&delete_button); |                 row.add_suffix(&delete_button); | ||||||
| 
 | 
 | ||||||
|                 row.upcast() |                 row.upcast() | ||||||
|  | @ -232,12 +234,14 @@ impl Screen<Option<Work>, Work> for WorkEditor { | ||||||
|                 }); |                 }); | ||||||
|             })); |             })); | ||||||
| 
 | 
 | ||||||
|             let row = adw::ActionRow::new(); |             let row = adw::ActionRowBuilder::new() | ||||||
|             row.set_activatable(true); |                 .focusable(false) | ||||||
|             row.set_title(&pos.get_title()); |                 .title(&pos.get_title()) | ||||||
|  |                 .activatable_widget(&edit_button) | ||||||
|  |                 .build(); | ||||||
|  | 
 | ||||||
|             row.add_suffix(&delete_button); |             row.add_suffix(&delete_button); | ||||||
|             row.add_suffix(&edit_button); |             row.add_suffix(&edit_button); | ||||||
|             row.set_activatable_widget(Some(&edit_button)); |  | ||||||
| 
 | 
 | ||||||
|             if let PartOrSection::Part(_) = pos { |             if let PartOrSection::Part(_) = pos { | ||||||
|                 // TODO: Replace with better solution to differentiate parts and sections.
 |                 // TODO: Replace with better solution to differentiate parts and sections.
 | ||||||
|  |  | ||||||
|  | @ -71,9 +71,9 @@ impl ImportScreen { | ||||||
| 
 | 
 | ||||||
|         for medium in mediums { |         for medium in mediums { | ||||||
|             let row = adw::ActionRowBuilder::new() |             let row = adw::ActionRowBuilder::new() | ||||||
|  |                 .activatable(true) | ||||||
|                 .title(&medium.name) |                 .title(&medium.name) | ||||||
|                 .subtitle(&format!("{} Tracks", medium.tracks.len())) |                 .subtitle(&format!("{} Tracks", medium.tracks.len())) | ||||||
|                 .activatable(true) |  | ||||||
|                 .build(); |                 .build(); | ||||||
| 
 | 
 | ||||||
|             row.connect_activated(clone!(@weak this =>  move |_| { |             row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -118,12 +118,14 @@ impl Screen<(Arc<ImportSession>, Option<Medium>), Medium> for MediumEditor { | ||||||
|                 edit_button.set_valign(gtk::Align::Center); |                 edit_button.set_valign(gtk::Align::Center); | ||||||
|                 edit_button.set_child(Some(&edit_image)); |                 edit_button.set_child(Some(&edit_image)); | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .focusable(false) | ||||||
|                 row.set_title(&title); |                     .title(&title) | ||||||
|                 row.set_subtitle(&subtitle); |                     .subtitle(&subtitle) | ||||||
|  |                     .activatable_widget(&edit_button) | ||||||
|  |                     .build(); | ||||||
|  | 
 | ||||||
|                 row.add_suffix(&edit_button); |                 row.add_suffix(&edit_button); | ||||||
|                 row.set_activatable_widget(Some(&edit_button)); |  | ||||||
| 
 | 
 | ||||||
|                 edit_button.connect_clicked(clone!(@weak this =>  move |_| { |                 edit_button.connect_clicked(clone!(@weak this =>  move |_| { | ||||||
|                     // TODO: Implement editing.
 |                     // TODO: Implement editing.
 | ||||||
|  |  | ||||||
|  | @ -65,11 +65,13 @@ impl Screen<(Recording, Vec<usize>), Vec<usize>> for TrackEditor { | ||||||
|                 } |                 } | ||||||
|             })); |             })); | ||||||
| 
 | 
 | ||||||
|             let row = adw::ActionRow::new(); |             let row = adw::ActionRowBuilder::new() | ||||||
|             row.add_prefix(&check); |                 .focusable(false) | ||||||
|             row.set_activatable_widget(Some(&check)); |                 .title(&part.title) | ||||||
|             row.set_title(&part.title); |                 .activatable_widget(&check) | ||||||
|  |                 .build(); | ||||||
| 
 | 
 | ||||||
|  |             row.add_prefix(&check); | ||||||
|             parts_list.append(&row); |             parts_list.append(&row); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -75,11 +75,13 @@ impl Screen<Arc<ImportSession>, Vec<usize>> for TrackSelector { | ||||||
|                 } |                 } | ||||||
|             })); |             })); | ||||||
| 
 | 
 | ||||||
|             let row = adw::ActionRow::new(); |             let row = adw::ActionRowBuilder::new() | ||||||
|  |                 .focusable(false) | ||||||
|  |                 .title(&track.name) | ||||||
|  |                 .activatable_widget(&check) | ||||||
|  |                 .build(); | ||||||
|  | 
 | ||||||
|             row.add_prefix(&check); |             row.add_prefix(&check); | ||||||
|             row.set_activatable_widget(Some(&check)); |  | ||||||
|             row.set_activatable(true); |  | ||||||
|             row.set_title(&track.name); |  | ||||||
| 
 | 
 | ||||||
|             track_list.append(&row); |             track_list.append(&row); | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -144,12 +144,14 @@ impl Screen<Arc<ImportSession>, TrackSetData> for TrackSetEditor { | ||||||
|             edit_button.set_valign(gtk::Align::Center); |             edit_button.set_valign(gtk::Align::Center); | ||||||
|             edit_button.set_child(Some(&edit_image)); |             edit_button.set_child(Some(&edit_image)); | ||||||
| 
 | 
 | ||||||
|             let row = adw::ActionRow::new(); |             let row = adw::ActionRowBuilder::new() | ||||||
|             row.set_activatable(true); |                 .focusable(false) | ||||||
|             row.set_title(&title); |                 .title(&title) | ||||||
|             row.set_subtitle(track_name); |                 .subtitle(track_name) | ||||||
|  |                 .activatable_widget(&edit_button) | ||||||
|  |                 .build(); | ||||||
|  | 
 | ||||||
|             row.add_suffix(&edit_button); |             row.add_suffix(&edit_button); | ||||||
|             row.set_activatable_widget(Some(&edit_button)); |  | ||||||
| 
 | 
 | ||||||
|             edit_button.connect_clicked(clone!(@weak this =>  move |_| { |             edit_button.connect_clicked(clone!(@weak this =>  move |_| { | ||||||
|                 let recording = this.recording.borrow().clone(); |                 let recording = this.recording.borrow().clone(); | ||||||
|  |  | ||||||
|  | @ -74,10 +74,11 @@ impl Screen<Ensemble, ()> for EnsembleScreen { | ||||||
|             clone!(@weak this => @default-panic,  move |index| { |             clone!(@weak this => @default-panic,  move |index| { | ||||||
|                 let recording = &this.recordings.borrow()[index]; |                 let recording = &this.recordings.borrow()[index]; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&recording.work.get_title()); |                     .title(&recording.work.get_title()) | ||||||
|                 row.set_subtitle(&recording.get_performers()); |                     .subtitle(&recording.get_performers()) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let recording = recording.to_owned(); |                 let recording = recording.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  | @ -103,9 +104,10 @@ impl Screen<Ensemble, ()> for EnsembleScreen { | ||||||
|             .set_make_widget_cb(clone!(@weak this => @default-panic,  move |index| { |             .set_make_widget_cb(clone!(@weak this => @default-panic,  move |index| { | ||||||
|                 let medium = &this.mediums.borrow()[index]; |                 let medium = &this.mediums.borrow()[index]; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&medium.name); |                     .title(&medium.name) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let medium = medium.to_owned(); |                 let medium = medium.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -93,9 +93,10 @@ impl Screen<(), ()> for MainScreen { | ||||||
|             .set_make_widget_cb(clone!(@weak this =>  @default-panic, move |index| { |             .set_make_widget_cb(clone!(@weak this =>  @default-panic, move |index| { | ||||||
|                 let poe = &this.poes.borrow()[index]; |                 let poe = &this.poes.borrow()[index]; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&poe.get_title()); |                     .title(&poe.get_title()) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let poe = poe.to_owned(); |                 let poe = poe.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -76,11 +76,11 @@ impl Screen<Medium, ()> for MediumScreen { | ||||||
|                     parts.join(", ") |                     parts.join(", ") | ||||||
|                 }; |                 }; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_selectable(false); |                     .margin_start(12) | ||||||
|                 row.set_activatable(false); |                     .selectable(false) | ||||||
|                 row.set_title(&title); |                     .title(&title) | ||||||
|                 row.set_margin_start(12); |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 row.upcast() |                 row.upcast() | ||||||
|             })); |             })); | ||||||
|  |  | ||||||
|  | @ -80,9 +80,10 @@ impl Screen<Person, ()> for PersonScreen { | ||||||
|             .set_make_widget_cb(clone!(@weak this =>  @default-panic, move |index| { |             .set_make_widget_cb(clone!(@weak this =>  @default-panic, move |index| { | ||||||
|                 let work = &this.works.borrow()[index]; |                 let work = &this.works.borrow()[index]; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&work.title); |                     .title(&work.title) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let work = work.to_owned(); |                 let work = work.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  | @ -107,10 +108,11 @@ impl Screen<Person, ()> for PersonScreen { | ||||||
|             clone!(@weak this =>  @default-panic, move |index| { |             clone!(@weak this =>  @default-panic, move |index| { | ||||||
|                 let recording = &this.recordings.borrow()[index]; |                 let recording = &this.recordings.borrow()[index]; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&recording.work.get_title()); |                     .title(&recording.work.get_title()) | ||||||
|                 row.set_subtitle(&recording.get_performers()); |                     .subtitle(&recording.get_performers()) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let recording = recording.to_owned(); |                 let recording = recording.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  | @ -136,9 +138,10 @@ impl Screen<Person, ()> for PersonScreen { | ||||||
|             .set_make_widget_cb(clone!(@weak this => @default-panic,  move |index| { |             .set_make_widget_cb(clone!(@weak this => @default-panic,  move |index| { | ||||||
|                 let medium = &this.mediums.borrow()[index]; |                 let medium = &this.mediums.borrow()[index]; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&medium.name); |                     .title(&medium.name) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let medium = medium.to_owned(); |                 let medium = medium.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -225,10 +225,11 @@ impl Screen<(), ()> for PlayerScreen { | ||||||
|                         parts.join(", ") |                         parts.join(", ") | ||||||
|                     }; |                     }; | ||||||
| 
 | 
 | ||||||
|                     let row = adw::ActionRow::new(); |                     let row = adw::ActionRowBuilder::new() | ||||||
|                     row.set_selectable(false); |                         .selectable(false) | ||||||
|                     row.set_activatable(true); |                         .activatable(true) | ||||||
|                     row.set_title(&title); |                         .title(&title) | ||||||
|  |                         .build(); | ||||||
| 
 | 
 | ||||||
|                     if first { |                     if first { | ||||||
|                         let subtitle = if !parts.is_empty() { |                         let subtitle = if !parts.is_empty() { | ||||||
|  |  | ||||||
|  | @ -86,8 +86,9 @@ impl Screen<Recording, ()> for RecordingScreen { | ||||||
|                     title_parts.join(", ") |                     title_parts.join(", ") | ||||||
|                 }; |                 }; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_title(&title); |                     .title(&title) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 row.upcast() |                 row.upcast() | ||||||
|             })); |             })); | ||||||
|  |  | ||||||
|  | @ -69,10 +69,11 @@ impl Screen<Work, ()> for WorkScreen { | ||||||
|             clone!(@weak this =>  @default-panic, move |index| { |             clone!(@weak this =>  @default-panic, move |index| { | ||||||
|                 let recording = &this.recordings.borrow()[index]; |                 let recording = &this.recordings.borrow()[index]; | ||||||
| 
 | 
 | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&recording.work.get_title()); |                     .title(&recording.work.get_title()) | ||||||
|                 row.set_subtitle(&recording.get_performers()); |                     .subtitle(&recording.get_performers()) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let recording = recording.to_owned(); |                 let recording = recording.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -52,9 +52,10 @@ impl Screen<(), Ensemble> for EnsembleSelector { | ||||||
| 
 | 
 | ||||||
|         this.selector |         this.selector | ||||||
|             .set_make_widget(clone!(@weak this => @default-panic,  move |ensemble| { |             .set_make_widget(clone!(@weak this => @default-panic,  move |ensemble| { | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&ensemble.name); |                     .title(&ensemble.name) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let ensemble = ensemble.to_owned(); |                 let ensemble = ensemble.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -52,9 +52,10 @@ impl Screen<(), Instrument> for InstrumentSelector { | ||||||
| 
 | 
 | ||||||
|         this.selector |         this.selector | ||||||
|             .set_make_widget(clone!(@weak this =>  @default-panic, move |instrument| { |             .set_make_widget(clone!(@weak this =>  @default-panic, move |instrument| { | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&instrument.name); |                     .title(&instrument.name) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let instrument = instrument.to_owned(); |                 let instrument = instrument.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -69,9 +69,10 @@ impl Screen<(), Medium> for MediumSelector { | ||||||
|             })); |             })); | ||||||
| 
 | 
 | ||||||
|         this.selector.set_make_widget(clone!(@weak this =>  @default-panic, move |poe| { |         this.selector.set_make_widget(clone!(@weak this =>  @default-panic, move |poe| { | ||||||
|             let row = adw::ActionRow::new(); |             let row = adw::ActionRowBuilder::new() | ||||||
|             row.set_activatable(true); |                 .activatable(true) | ||||||
|             row.set_title(&poe.get_title()); |                 .title(&poe.get_title()) | ||||||
|  |                 .build(); | ||||||
| 
 | 
 | ||||||
|             let poe = poe.to_owned(); |             let poe = poe.to_owned(); | ||||||
|             row.connect_activated(clone!(@weak this =>  move |_| { |             row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  | @ -143,9 +144,10 @@ impl Screen<PersonOrEnsemble, Medium> for MediumSelectorMediumScreen { | ||||||
| 
 | 
 | ||||||
|         this.selector |         this.selector | ||||||
|             .set_make_widget(clone!(@weak this =>  @default-panic, move |medium| { |             .set_make_widget(clone!(@weak this =>  @default-panic, move |medium| { | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&medium.name); |                     .title(&medium.name) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let medium = medium.to_owned(); |                 let medium = medium.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -52,9 +52,10 @@ impl Screen<(), Person> for PersonSelector { | ||||||
| 
 | 
 | ||||||
|         this.selector |         this.selector | ||||||
|             .set_make_widget(clone!(@weak this =>  @default-panic, move |person| { |             .set_make_widget(clone!(@weak this =>  @default-panic, move |person| { | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&person.name_lf()); |                     .title(&person.name_lf()) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let person = person.to_owned(); |                 let person = person.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -61,9 +61,10 @@ impl Screen<(), Recording> for RecordingSelector { | ||||||
|             })); |             })); | ||||||
| 
 | 
 | ||||||
|         this.selector.set_make_widget(clone!(@weak this =>  @default-panic, move |person| { |         this.selector.set_make_widget(clone!(@weak this =>  @default-panic, move |person| { | ||||||
|             let row = adw::ActionRow::new(); |             let row = adw::ActionRowBuilder::new() | ||||||
|             row.set_activatable(true); |                 .activatable(true) | ||||||
|             row.set_title(&person.name_lf()); |                 .title(&person.name_lf()) | ||||||
|  |                 .build(); | ||||||
| 
 | 
 | ||||||
|             let person = person.to_owned(); |             let person = person.to_owned(); | ||||||
|             row.connect_activated(clone!(@weak this =>  move |_| { |             row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  | @ -142,9 +143,10 @@ impl Screen<Person, Work> for RecordingSelectorWorkScreen { | ||||||
| 
 | 
 | ||||||
|         this.selector |         this.selector | ||||||
|             .set_make_widget(clone!(@weak this =>  @default-panic, move |work| { |             .set_make_widget(clone!(@weak this =>  @default-panic, move |work| { | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&work.title); |                     .title(&work.title) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let work = work.to_owned(); |                 let work = work.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  | @ -209,9 +211,10 @@ impl Screen<Work, Recording> for RecordingSelectorRecordingScreen { | ||||||
| 
 | 
 | ||||||
|         this.selector |         this.selector | ||||||
|             .set_make_widget(clone!(@weak this =>  @default-panic, move |recording| { |             .set_make_widget(clone!(@weak this =>  @default-panic, move |recording| { | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&recording.get_performers()); |                     .title(&recording.get_performers()) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let recording = recording.to_owned(); |                 let recording = recording.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -55,9 +55,10 @@ impl Screen<(), Work> for WorkSelector { | ||||||
|             })); |             })); | ||||||
| 
 | 
 | ||||||
|         this.selector.set_make_widget(clone!(@weak this =>  @default-panic, move |person| { |         this.selector.set_make_widget(clone!(@weak this =>  @default-panic, move |person| { | ||||||
|             let row = adw::ActionRow::new(); |             let row = adw::ActionRowBuilder::new() | ||||||
|             row.set_activatable(true); |                 .activatable(true) | ||||||
|             row.set_title(&person.name_lf()); |                 .title(&person.name_lf()) | ||||||
|  |                 .build(); | ||||||
| 
 | 
 | ||||||
|             let person = person.to_owned(); |             let person = person.to_owned(); | ||||||
|             row.connect_activated(clone!(@weak this =>  move |_| { |             row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  | @ -132,9 +133,10 @@ impl Screen<Person, Work> for WorkSelectorWorkScreen { | ||||||
| 
 | 
 | ||||||
|         this.selector |         this.selector | ||||||
|             .set_make_widget(clone!(@weak this =>  @default-panic, move |work| { |             .set_make_widget(clone!(@weak this =>  @default-panic, move |work| { | ||||||
|                 let row = adw::ActionRow::new(); |                 let row = adw::ActionRowBuilder::new() | ||||||
|                 row.set_activatable(true); |                     .activatable(true) | ||||||
|                 row.set_title(&work.title); |                     .title(&work.title) | ||||||
|  |                     .build(); | ||||||
| 
 | 
 | ||||||
|                 let work = work.to_owned(); |                 let work = work.to_owned(); | ||||||
|                 row.connect_activated(clone!(@weak this =>  move |_| { |                 row.connect_activated(clone!(@weak this =>  move |_| { | ||||||
|  |  | ||||||
|  | @ -19,7 +19,7 @@ impl ButtonRow { | ||||||
|             .build(); |             .build(); | ||||||
| 
 | 
 | ||||||
|         let widget = adw::ActionRowBuilder::new() |         let widget = adw::ActionRowBuilder::new() | ||||||
|             .activatable(true) |             .focusable(false) | ||||||
|             .activatable_widget(&button) |             .activatable_widget(&button) | ||||||
|             .title(title) |             .title(title) | ||||||
|             .build(); |             .build(); | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ impl EntryRow { | ||||||
|             .build(); |             .build(); | ||||||
| 
 | 
 | ||||||
|         let widget = adw::ActionRowBuilder::new() |         let widget = adw::ActionRowBuilder::new() | ||||||
|             .activatable(true) |             .focusable(false) | ||||||
|             .activatable_widget(&entry) |             .activatable_widget(&entry) | ||||||
|             .title(title) |             .title(title) | ||||||
|             .build(); |             .build(); | ||||||
|  |  | ||||||
|  | @ -29,8 +29,8 @@ impl UploadSection { | ||||||
|             .build(); |             .build(); | ||||||
| 
 | 
 | ||||||
|         let row = adw::ActionRowBuilder::new() |         let row = adw::ActionRowBuilder::new() | ||||||
|  |             .focusable(false) | ||||||
|             .title("Upload changes to the server") |             .title("Upload changes to the server") | ||||||
|             .activatable(true) |  | ||||||
|             .activatable_widget(&switch) |             .activatable_widget(&switch) | ||||||
|             .build(); |             .build(); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue