From e5ca811453c8398b340a1cbb9ec675085b03a1d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20For=C3=A9?= Date: Sun, 7 Feb 2021 12:49:20 -0800 Subject: [PATCH] Add Weather info --- data/EventRow.css | 1 + meson.build | 8 ++++++++ src/Indicator.vala | 18 ++++++++++++++---- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/data/EventRow.css b/data/EventRow.css index 96b87084..cf26dd21 100644 --- a/data/EventRow.css +++ b/data/EventRow.css @@ -7,6 +7,7 @@ .event label, .event image { color: @selected_fg_color; + -gtk-icon-palette: error @selected_fg_color, success @selected_fg_color, warning @selected_fg_color; } .event .title { diff --git a/meson.build b/meson.build index 4d1f8c21..e82f2f54 100644 --- a/meson.build +++ b/meson.build @@ -21,6 +21,10 @@ gresource = gnome.compile_resources( source_dir: 'data' ) +c_args = [ + '-DGWEATHER_I_KNOW_THIS_IS_UNSTABLE', +] + wingpanel_dep = dependency('wingpanel-2.0') wingpanel_indicatorsdir = wingpanel_dep.get_pkgconfig_variable('indicatorsdir', define_variable: ['libdir', libdir]) @@ -44,12 +48,14 @@ shared_module( 'src/Indicator.vala', 'src/Widgets/EventRow.vala', 'src/Widgets/PanelLabel.vala', + 'src/Widgets/WeatherRow.vala', 'src/Widgets/calendar/CalendarModel.vala', 'src/Widgets/calendar/CalendarView.vala', 'src/Widgets/calendar/Grid.vala', 'src/Widgets/calendar/GridDay.vala', 'src/Widgets/calendar/Util.vala', 'src/Services/TimeManager.vala', + c_args: c_args, dependencies: [ dependency('glib-2.0'), dependency('gobject-2.0'), @@ -58,6 +64,8 @@ shared_module( libecal_dep, dependency('libedataserver-1.2'), dependency('libhandy-1'), + dependency('libgeoclue-2.0'), + dependency('gweather-3.0'), libical_dep, wingpanel_dep, ], diff --git a/src/Indicator.vala b/src/Indicator.vala index ea391718..00810d0a 100644 --- a/src/Indicator.vala +++ b/src/Indicator.vala @@ -53,6 +53,12 @@ public class DateTime.Indicator : Wingpanel.Indicator { calendar = new Widgets.CalendarView (); calendar.margin_bottom = 6; + var weather_row = new WeatherRow () { + margin = 6, + margin_top = 0, + margin_bottom = 9 + }; + var placeholder_label = new Gtk.Label (_("No Events on This Day")); placeholder_label.wrap = true; placeholder_label.wrap_mode = Pango.WrapMode.WORD; @@ -72,8 +78,10 @@ public class DateTime.Indicator : Wingpanel.Indicator { event_listbox.set_placeholder (placeholder_label); event_listbox.set_sort_func (sort_function); - var scrolled_window = new Gtk.ScrolledWindow (null, null); - scrolled_window.hscrollbar_policy = Gtk.PolicyType.NEVER; + var scrolled_window = new Gtk.ScrolledWindow (null, null) { + hscrollbar_policy = Gtk.PolicyType.NEVER, + vexpand = true + }; scrolled_window.add (event_listbox); var settings_button = new Gtk.ModelButton (); @@ -81,14 +89,16 @@ public class DateTime.Indicator : Wingpanel.Indicator { main_grid = new Gtk.Grid (); main_grid.margin_top = 12; - main_grid.attach (calendar, 0, 0); - main_grid.attach (scrolled_window, 1, 0); + main_grid.attach (calendar, 0, 0, 1, 2); + main_grid.attach (weather_row, 1, 0); + main_grid.attach (scrolled_window, 1, 1); main_grid.attach (new Wingpanel.Widgets.Separator (), 0, 2, 2); main_grid.attach (settings_button, 0, 3, 2); var size_group = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL); size_group.add_widget (calendar); size_group.add_widget (event_listbox); + size_group.add_widget (weather_row); calendar.day_double_click.connect (() => { close ();