mirror of https://github.com/berriedale/arun
Add a signal handler for the 'activate' signal to spawn a process
This commit is contained in:
parent
e34d21d874
commit
978ccecc7d
|
@ -33,6 +33,7 @@
|
|||
<property name="primary_icon_activatable">False</property>
|
||||
<property name="primary_icon_sensitive">False</property>
|
||||
<property name="placeholder_text" translatable="yes">Enter a command to run</property>
|
||||
<signal name="activate" handler="commandEntry_activate_cb" swapped="no"/>
|
||||
<signal name="search-changed" handler="commandEntry_search_changed_cb" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
|
|
|
@ -28,4 +28,15 @@ package body Arun.Handlers is
|
|||
end Search_Changed;
|
||||
|
||||
|
||||
procedure Execute_Command (Object : access Gtkada_Builder_Record'Class) is
|
||||
use Ada.Text_IO;
|
||||
use Gtk.Search_Entry;
|
||||
use Gtkada.Builder;
|
||||
|
||||
Widget : Gtk_Search_Entry := Gtk_Search_Entry (Get_Object (Object, "commandEntry"));
|
||||
begin
|
||||
Put_Line ("Should Execute: " & Widget.Get_Text);
|
||||
Gtk.Main.Main_Quit;
|
||||
end Execute_Command;
|
||||
|
||||
end Arun.Handlers;
|
||||
|
|
|
@ -8,6 +8,11 @@ package Arun.Handlers is
|
|||
|
||||
procedure Quit (Object : access Gtkada_Builder_Record'Class);
|
||||
|
||||
-- Whenever the search entry changes call this handler for autocompletion
|
||||
procedure Search_Changed (Object : access Gtkada_Builder_Record'Class);
|
||||
|
||||
-- On "activate" of the search entry call this handler (basically when the user
|
||||
-- hits the enter key
|
||||
procedure Execute_Command (Object : access Gtkada_Builder_Record'Class);
|
||||
|
||||
end Arun.Handlers;
|
||||
|
|
|
@ -44,10 +44,14 @@ package body Arun is
|
|||
Register_Handler (Builder => Builder,
|
||||
Handler_Name => "Main_Quit",
|
||||
Handler => Arun.Handlers.Quit'Access);
|
||||
|
||||
Register_Handler (Builder => Builder,
|
||||
Handler_Name => "commandEntry_search_changed_cb",
|
||||
Handler => Arun.Handlers.Search_Changed'Access);
|
||||
|
||||
Register_Handler (Builder => Builder,
|
||||
Handler_Name => "commandEntry_activate_cb",
|
||||
Handler => Arun.Handlers.Execute_Command'Access);
|
||||
-- Step 3: call Do_Connect. Once to connect all registered handlers
|
||||
Do_Connect (Builder);
|
||||
|
||||
|
|
Loading…
Reference in New Issue