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 6cce0481..6aac22b7 100644 --- a/meson.build +++ b/meson.build @@ -22,10 +22,13 @@ gresource = gnome.compile_resources( source_dir: 'data' ) +c_args = [ + '-DGWEATHER_I_KNOW_THIS_IS_UNSTABLE', +] + wingpanel_dep = dependency('wingpanel') wingpanel_indicatorsdir = wingpanel_dep.get_pkgconfig_variable('indicatorsdir', define_variable: ['libdir', libdir]) - libecal_dep = dependency('libecal-2.0', required: false) if libecal_dep.found() libical_dep = dependency('libical-glib') @@ -55,12 +58,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'), @@ -69,6 +74,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 feb9aca5..90e86159 100644 --- a/src/Indicator.vala +++ b/src/Indicator.vala @@ -56,6 +56,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 this day")); placeholder_label.wrap = true; placeholder_label.wrap_mode = Pango.WrapMode.WORD; @@ -75,8 +81,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 (); @@ -84,14 +92,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 ();