From 23e48e7d4d470e835c4e88eccd0aa1d570d18d05 Mon Sep 17 00:00:00 2001 From: Zoe Moore Date: Fri, 23 Dec 2022 18:03:06 -0800 Subject: [PATCH] Figured out how to use gi-crystal with libadwaita, added find location function --- shard.yml | 3 +-- src/modules/api/location.cr | 4 ++-- src/modules/views/main.cr | 4 +++- src/wince.cr | 2 ++ 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/shard.yml b/shard.yml index 16696f3..fc218b5 100644 --- a/shard.yml +++ b/shard.yml @@ -9,10 +9,9 @@ targets: main: src/wince.cr dependencies: - gtk4: - github: hugopl/gtk4.cr libadwaita: github: GeopJr/libadwaita.cr + branch: main crystal: 1.6.2 diff --git a/src/modules/api/location.cr b/src/modules/api/location.cr index e5bd4d8..8956e93 100644 --- a/src/modules/api/location.cr +++ b/src/modules/api/location.cr @@ -1,10 +1,10 @@ module Wince::Location extend self - client = Geoclue::Simple.new() + @@client = Geoclue::Simple.new_sync("space.quietfeathers.Wince", Geoclue::AccuracyLevel::Street, nil) def find_location() - location = client.location + location = @@client.location [location.latitude, location.longitude] end end diff --git a/src/modules/views/main.cr b/src/modules/views/main.cr index 823c301..80d07e5 100644 --- a/src/modules/views/main.cr +++ b/src/modules/views/main.cr @@ -3,6 +3,7 @@ require "time" require "../templates/businessrow.cr" require "../templates/hourrow.cr" +require "../api/location.cr" require "../api/yelp.cr" require "../utils/utils.cr" @@ -42,7 +43,8 @@ module Wince end def handle_geolocate - puts "no, not yet" + latlon = Location.find_location() + LOCATION_ENTRY.text = "#{latlon[0]}, #{latlon[1]}" end def yelp_response_to_business_ids(response : JSON::Any) diff --git a/src/wince.cr b/src/wince.cr index 1609931..38a2e73 100644 --- a/src/wince.cr +++ b/src/wince.cr @@ -1,4 +1,6 @@ require "libadwaita" +require "../lib/libadwaita/lib/gi-crystal/src/auto/geoclue-2.0/*" +require "../lib/libadwaita/lib/gi-crystal/src/auto/shumate-1.0/*" require "./modules/prerequisites.cr" require "./modules/views/main.cr"