mirror of
				https://gitlab.gnome.org/julianschacher/top-bar-organizer.git
				synced 2025-10-27 15:19:09 +00:00 
			
		
		
		
	Refactor: Let PrefsBoxOrderItemRow handle item association
				
					
				
			Let `PrefsBoxOrderItemRow` handle the association of itself with an item itself. Doing so makes the code cleaner, since the association isn't done externally anymore.
This commit is contained in:
		
							parent
							
								
									bd69f816eb
								
							
						
					
					
						commit
						309e2c07b9
					
				
							
								
								
									
										14
									
								
								src/prefs.js
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/prefs.js
									
									
									
									
									
								
							| @ -99,19 +99,7 @@ var PrefsWidget = GObject.registerClass({ | |||||||
|             // Add the items of the given configured box order as
 |             // Add the items of the given configured box order as
 | ||||||
|             // GtkListBoxRows.
 |             // GtkListBoxRows.
 | ||||||
|             for (const item of boxOrder) { |             for (const item of boxOrder) { | ||||||
|                 const listBoxRow = new PrefsBoxOrderItemRow.PrefsBoxOrderItemRow({}, this._scrollManager); |                 const listBoxRow = new PrefsBoxOrderItemRow.PrefsBoxOrderItemRow({}, this._scrollManager, item); | ||||||
| 
 |  | ||||||
|                 listBoxRow.item = item; |  | ||||||
|                 if (item.startsWith("appindicator-kstatusnotifieritem-")) { |  | ||||||
|                     // Set `item_name_display_label` of the `listBoxRow` to
 |  | ||||||
|                     // something nicer, if the associated item is an
 |  | ||||||
|                     // AppIndicator/KStatusNotifierItem item.
 |  | ||||||
|                     listBoxRow.item_name_display_label.set_label(item.replace("appindicator-kstatusnotifieritem-", "")); |  | ||||||
|                 } else { |  | ||||||
|                     // Otherwise just set the `item_name_display_label` of the
 |  | ||||||
|                     // `listBoxRow` to `item`.
 |  | ||||||
|                     listBoxRow.item_name_display_label.set_label(item); |  | ||||||
|                 } |  | ||||||
|                 gtkListBox.append(listBoxRow); |                 gtkListBox.append(listBoxRow); | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -29,11 +29,13 @@ const Me = ExtensionUtils.getCurrentExtension(); | |||||||
| var PrefsBoxOrderItemRow = GObject.registerClass({ | var PrefsBoxOrderItemRow = GObject.registerClass({ | ||||||
|     GTypeName: "PrefsBoxOrderItemRow", |     GTypeName: "PrefsBoxOrderItemRow", | ||||||
|     Template: Me.dir.get_child("prefs-box-order-item-row.ui").get_uri(), |     Template: Me.dir.get_child("prefs-box-order-item-row.ui").get_uri(), | ||||||
|     Children: ["item-name-display-label"] |     InternalChildren: ["item-name-display-label"] | ||||||
| }, class PrefsBoxOrderItemRow extends Gtk.ListBoxRow { | }, class PrefsBoxOrderItemRow extends Gtk.ListBoxRow { | ||||||
|     _init(params = {}, scrollManager) { |     _init(params = {}, scrollManager, item) { | ||||||
|         super._init(params); |         super._init(params); | ||||||
| 
 | 
 | ||||||
|  |         this._associateItem(item); | ||||||
|  | 
 | ||||||
|         // Make `this` draggable by creating a drag source and adding it to
 |         // Make `this` draggable by creating a drag source and adding it to
 | ||||||
|         // `this`.
 |         // `this`.
 | ||||||
|         let dragSource = new Gtk.DragSource(); |         let dragSource = new Gtk.DragSource(); | ||||||
| @ -108,4 +110,18 @@ var PrefsBoxOrderItemRow = GObject.registerClass({ | |||||||
|         }); |         }); | ||||||
|         this.add_controller(dropTarget); |         this.add_controller(dropTarget); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     /** | ||||||
|  |      * Associate `this` with an item. | ||||||
|  |      * @param {String} item | ||||||
|  |      */ | ||||||
|  |     _associateItem(item) { | ||||||
|  |         this.item = item; | ||||||
|  | 
 | ||||||
|  |         // Set `this._item_name_display_label` to something nicer, if the
 | ||||||
|  |         // associated item is an AppIndicator/KStatusNotifierItem item.
 | ||||||
|  |         if (item.startsWith("appindicator-kstatusnotifieritem-")) this._item_name_display_label.set_label(item.replace("appindicator-kstatusnotifieritem-", "")); | ||||||
|  |         // Otherwise just set it to `item`.
 | ||||||
|  |         else this._item_name_display_label.set_label(item); | ||||||
|  |     } | ||||||
| }); | }); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user