kopia lustrzana https://gitlab.com/Zwarf/picplanner
Get keyboard input automatically and start with search functionality
rodzic
bff1fe273d
commit
e3d19f2628
|
@ -11,12 +11,15 @@ picplanner_sources = [
|
|||
'calculations/calculations_sun.c',
|
||||
'calculations/calculations_moon.c',
|
||||
'calculations/calculations_milky_way.c',
|
||||
'search/search.c',
|
||||
]
|
||||
|
||||
picplanner_deps = [
|
||||
dependency('gtk4'),
|
||||
dependency('libadwaita-1'),
|
||||
dependency('shumate-1.0'),
|
||||
dependency('geocode-glib-1.0'),
|
||||
dependency('gweather4'),
|
||||
meson.get_compiler('c').find_library('m', required: false),
|
||||
]
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
#include "calculations/calculations_sun.h"
|
||||
#include "calculations/calculations_moon.h"
|
||||
#include "calculations/calculations_milky_way.h"
|
||||
|
||||
#include <libgweather/gweather.h>
|
||||
|
||||
/*
|
||||
* The time of no input of map movement that has to pass until a calculation of the positions
|
||||
|
@ -65,6 +65,21 @@ struct _PicplannerWindow
|
|||
|
||||
G_DEFINE_TYPE (PicplannerWindow, picplanner_window, ADW_TYPE_APPLICATION_WINDOW)
|
||||
|
||||
static void
|
||||
search_location (GtkWidget *self,
|
||||
gpointer user_data)
|
||||
{
|
||||
(void) self;
|
||||
PicplannerWindow *window = user_data;
|
||||
(void) window;
|
||||
|
||||
const char *search_string = gtk_editable_get_text (GTK_EDITABLE (window->search_entry));
|
||||
const char *search_string_casefold = g_utf8_casefold (search_string, strlen (search_string));
|
||||
g_print ("Search string: %s\n", search_string_casefold);
|
||||
|
||||
|
||||
GWeatherLocation *world = gweather_location_get_world ();
|
||||
}
|
||||
|
||||
static void
|
||||
calculate_positions (PicplannerWindow *window)
|
||||
|
@ -226,6 +241,8 @@ picplanner_window_class_init (PicplannerWindowClass *klass)
|
|||
gtk_widget_class_bind_template_child (widget_class, PicplannerWindow, milky_way_box);
|
||||
gtk_widget_class_bind_template_child (widget_class, PicplannerWindow, north_entry);
|
||||
gtk_widget_class_bind_template_child (widget_class, PicplannerWindow, east_entry);
|
||||
|
||||
gtk_widget_class_bind_template_callback (widget_class, search_location);
|
||||
}
|
||||
|
||||
|
||||
|
@ -271,4 +288,11 @@ picplanner_window_init (PicplannerWindow *window)
|
|||
* Calculate values after application start
|
||||
*/
|
||||
calculate_positions (window);
|
||||
|
||||
|
||||
/*
|
||||
* Setup the location searchbar to register keyboard input
|
||||
*/
|
||||
gtk_search_bar_connect_entry (GTK_SEARCH_BAR (window->search_bar), GTK_EDITABLE (window->search_entry));
|
||||
gtk_search_bar_set_key_capture_widget (GTK_SEARCH_BAR (window->search_bar), GTK_WIDGET (window));
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
|
||||
#include <gtk/gtk.h>
|
||||
#include <adwaita.h>
|
||||
#include <libsoup/soup.h>
|
||||
#include "picplanner-config.h"
|
||||
#include "picplanner-application.h"
|
||||
|
||||
|
|
|
@ -88,8 +88,9 @@
|
|||
<child>
|
||||
<object class="GtkSearchEntry" id="search_entry">
|
||||
<property name="visible">true</property>
|
||||
<property name="can_focus">true</property>
|
||||
<property name="can-focus">true</property>
|
||||
<property name="placeholder-text">Search...</property>
|
||||
<signal name="search-changed" handler="search_location"/>
|
||||
</object>
|
||||
</child>
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue