[gnome-builder/wip/gtk4-port] plugins/shellcmd: add locality selection to dialog



commit 19431a3671129f499b340b1e2beca2da5d77be4a
Author: Christian Hergert <chergert redhat com>
Date:   Wed Jun 15 17:30:55 2022 -0700

    plugins/shellcmd: add locality selection to dialog
    
    We still need to wire this up, but it gives us the ability to actually
    select a locality. The goal is to add this to shellcmd run command so that
    we can use the appropriate terminal launcher.
    
    These will likely be ignored when using a run command as a run target,
    but that is to be expected.

 .../shellcmd/gbp-shellcmd-command-dialog.ui        | 92 +++++++++++++++++++++-
 1 file changed, 91 insertions(+), 1 deletion(-)
---
diff --git a/src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui 
b/src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui
index 22ae1f5ee..132eae1f3 100644
--- a/src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui
+++ b/src/plugins/shellcmd/gbp-shellcmd-command-dialog.ui
@@ -113,10 +113,70 @@
                     </style>
                   </object>
                 </child>
+              </object>
+            </child>
+            <child>
+              <object class="AdwPreferencesGroup">
+                <child>
+                  <object class="AdwComboRow" id="locality">
+                    <property name="title" translatable="yes">Locality</property>
+                    <property name="subtitle" translatable="yes">Builder can run your command from a number 
of localities including the host system or build containers.</property>
+                    <property name="model">localities</property>
+                    <property name="expression">
+                      <lookup name="title" type="IdeEnumObject"/>
+                    </property>
+                    <property name="list-factory">
+                      <object class="GtkBuilderListItemFactory">
+                        <property name="bytes"><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <template class="GtkListItem">
+    <property name="child">
+      <object class="GtkBox">
+        <property name="orientation">vertical</property>
+        <child>
+          <object class="GtkLabel">
+            <property name="xalign">0</property>
+            <property name="hexpand">true</property>
+            <binding name="label">
+              <lookup name="title" type="IdeEnumObject">
+                <lookup name="item">GtkListItem</lookup>
+              </lookup>
+            </binding>
+          </object>
+        </child>
+        <child>
+          <object class="GtkLabel">
+            <property name="xalign">0</property>
+            <property name="hexpand">true</property>
+            <style>
+              <class name="caption"/>
+              <class name="dim-label"/>
+            </style>
+            <binding name="label">
+              <lookup name="description" type="IdeEnumObject">
+                <lookup name="item">GtkListItem</lookup>
+              </lookup>
+            </binding>
+          </object>
+        </child>
+      </object>
+    </property>
+  </template>
+</interface>
+]]>
+                        </property>
+                      </object>
+                    </property>
+                  </object>
+                </child>
+              </object>
+            </child>
+            <child>
+              <object class="AdwPreferencesGroup">
                 <child>
                   <object class="GtkListBox" id="envvars_list_box">
                     <property name="selection-mode">none</property>
-                    <property name="margin-top">12</property>
                     <style>
                       <class name="boxed-list"/>
                     </style>
@@ -179,4 +239,34 @@
   </object>
   <object class="GtkStringList" id="envvars">
   </object>
+  <object class="GListStore" id="localities">
+    <child>
+      <object class="IdeEnumObject">
+        <property name="nick">host</property>
+        <property name="title" translatable="yes">Host System</property>
+        <property name="description" translatable="yes">Runs the command on the host system.</property>
+      </object>
+    </child>
+    <child>
+      <object class="IdeEnumObject">
+        <property name="nick">pipeline</property>
+        <property name="title" translatable="yes">Build Pipeline</property>
+        <property name="description" translatable="yes">Runs the command within the build 
pipeline.</property>
+      </object>
+    </child>
+    <child>
+      <object class="IdeEnumObject">
+        <property name="nick">runner</property>
+        <property name="title" translatable="yes">As Target Application</property>
+        <property name="description" translatable="yes">Runs the command as if it were the target 
application.</property>
+      </object>
+    </child>
+    <child>
+      <object class="IdeEnumObject">
+        <property name="nick">internal</property>
+        <property name="title" translatable="yes">Subprocess</property>
+        <property name="description" translatable="yes">Runs the command as a subprocess of 
Builder.</property>
+      </object>
+    </child>
+  </object>
 </interface>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]