 ff24c82dd4
			
		
	
	ff24c82dd4
	
	
	
		
			
			This is more reliable than using text-style Emoji which may not be present. Based on work by Julian Sparber.
		
			
				
	
	
		
			411 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			411 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <?xml version="1.0" encoding="UTF-8"?>
 | |
| <interface domain="gtk30">
 | |
|   <template class="GtkEmojiChooser" parent="GtkPopover">
 | |
|     <property name="modal">1</property>
 | |
|     <style>
 | |
|       <class name="emoji-picker"/>
 | |
|     </style>
 | |
|     <child>
 | |
|       <object class="GtkBox" id="box">
 | |
|         <property name="orientation">vertical</property>
 | |
|         <property name="visible">1</property>
 | |
|         <child>
 | |
|           <object class="GtkSearchEntry" id="search_entry">
 | |
|             <property name="visible">1</property>
 | |
|             <property name="input-hints">no-emoji</property>
 | |
|             <signal name="search-changed" handler="search_changed"/>
 | |
|           </object>
 | |
|         </child>
 | |
|         <child>
 | |
|           <object class="GtkStack" id="stack">
 | |
|             <property name="visible">1</property>
 | |
|             <child>
 | |
|               <object class="GtkBox">
 | |
|                 <property name="visible">1</property>
 | |
|                 <property name="orientation">vertical</property>
 | |
|                 <child>
 | |
|                   <object class="GtkScrolledWindow" id="scrolled_window">
 | |
|                     <property name="visible">1</property>
 | |
|                     <property name="vexpand">1</property>
 | |
|                     <property name="hscrollbar-policy">never</property>
 | |
|                     <property name="min-content-height">250</property>
 | |
|                     <style>
 | |
|                       <class name="view"/>
 | |
|                     </style>
 | |
|                     <child>
 | |
|                       <object class="GtkBox" id="emoji_box">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="orientation">vertical</property>
 | |
|                         <property name="margin">6</property>
 | |
|                         <property name="spacing">6</property>
 | |
|                         <!-- Remember to keep headings here in sync with button tooltips below -->
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="recent.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="people.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes">Smileys & People</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="people.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="body.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes">Body & Clothing</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="body.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="nature.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes">Animals & Nature</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="nature.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="food.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes">Food & Drink</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="food.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="travel.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes">Travel & Places</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="travel.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="activities.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes">Activities</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="activities.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="objects.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes" context="emoji category">Objects</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="objects.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="symbols.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes">Symbols</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="symbols.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkLabel" id="flags.heading">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="label" translatable="yes">Flags</property>
 | |
|                             <property name="xalign">0</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                         <child>
 | |
|                           <object class="GtkFlowBox" id="flags.box">
 | |
|                             <property name="visible">1</property>
 | |
|                             <property name="homogeneous">1</property>
 | |
|                             <property name="selection-mode">none</property>
 | |
|                             <signal name="child-activated" handler="emoji_activated"/>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                   </object>
 | |
|                 </child>
 | |
|                 <child>
 | |
|                   <object class="GtkBox">
 | |
|                     <property name="visible">1</property>
 | |
|                     <!-- Remember to keep tooltips here in sync with section headings above -->
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="recent.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Recent</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="recent.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="people.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Smileys & People</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="people.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="body.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Body & Clothing</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="body.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="nature.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Animals & Nature</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="nature.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="food.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Food & Drink</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="food.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="travel.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Travel & Places</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="travel.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="activities.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Activities</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="activities.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="objects.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                          <property name="tooltip-text" translatable="yes" context="emoji category">Objects</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="objects.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="symbols.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Symbols</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="symbols.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                     <child>
 | |
|                       <object class="GtkButton" id="flags.button">
 | |
|                         <property name="visible">1</property>
 | |
|                         <property name="relief">none</property>
 | |
|                         <property name="tooltip-text" translatable="yes">Flags</property>
 | |
|                         <style>
 | |
|                           <class name="emoji-section"/>
 | |
|                         </style>
 | |
|                         <child>
 | |
|                           <object class="GtkImage" id="flags.icon">
 | |
|                             <property name="visible">1</property>
 | |
|                           </object>
 | |
|                         </child>
 | |
|                       </object>
 | |
|                     </child>
 | |
|                   </object>
 | |
|                 </child>
 | |
|               </object>
 | |
|               <packing>
 | |
|                 <property name="name">list</property>
 | |
|               </packing>
 | |
|             </child>
 | |
|             <child>
 | |
|               <object class="GtkGrid">
 | |
|                 <property name="visible">1</property>
 | |
|                 <property name="row-spacing">12</property>
 | |
|                 <property name="halign">center</property>
 | |
|                 <property name="valign">center</property>
 | |
|                 <style>
 | |
|                   <class name="dim-label"/>
 | |
|                 </style>
 | |
|                 <child>
 | |
|                   <object class="GtkImage">
 | |
|                     <property name="visible">1</property>
 | |
|                     <property name="icon-name">edit-find-symbolic</property>
 | |
|                     <property name="pixel-size">72</property>
 | |
|                     <style>
 | |
|                       <class name="dim-label"/>
 | |
|                     </style>
 | |
|                   </object>
 | |
|                   <packing>
 | |
|                     <property name="left-attach">0</property>
 | |
|                     <property name="top-attach">0</property>
 | |
|                   </packing>
 | |
|                 </child>
 | |
|                 <child>
 | |
|                   <object class="GtkLabel">
 | |
|                     <property name="visible">1</property>
 | |
|                     <property name="label" translatable="yes">No Results Found</property>
 | |
|                     <attributes>
 | |
|                       <attribute name="weight" value="bold"/>
 | |
|                       <attribute name="scale" value="1.44"/>
 | |
|                     </attributes>
 | |
|                   </object>
 | |
|                   <packing>
 | |
|                     <property name="left-attach">0</property>
 | |
|                     <property name="top-attach">1</property>
 | |
|                   </packing>
 | |
|                 </child>
 | |
|                 <child>
 | |
|                   <object class="GtkLabel">
 | |
|                     <property name="visible">1</property>
 | |
|                     <property name="label" translatable="yes">Try a different search</property>
 | |
|                     <style>
 | |
|                       <class name="dim-label"/>
 | |
|                     </style>
 | |
|                   </object>
 | |
|                   <packing>
 | |
|                     <property name="left-attach">0</property>
 | |
|                     <property name="top-attach">2</property>
 | |
|                   </packing>
 | |
|                 </child>
 | |
|               </object>
 | |
|               <packing>
 | |
|                 <property name="name">empty</property>
 | |
|               </packing>
 | |
|             </child>
 | |
|           </object>
 | |
|         </child>
 | |
|       </object>
 | |
|     </child>
 | |
|   </template>
 | |
| </interface>
 |