Commit Graph
2408 Commits
Author SHA1 Message Date
Georges Basile Stavracas Neto fb1ca515e9 agenda-view: Fix translatable strings 2022-09-15 12:30:13 -03:00
Christopher Davis a53787457e window: Use two today buttons instead of moving
This fixes an issue that caused flickering as the window
approached a size where it could fold.
2022-08-12 03:00:08 +00:00
Christopher Davis 04ead5fe85 window: Update today action enabeld state instead of button sensitivity
Button sensitivity is automatically updated with action state.
By taking advantage of this we can use the `win.today` action
on multiple buttons without needing to update every button.
2022-08-12 03:00:08 +00:00
Christopher Davis 9444d998ff general: Use GcalToolbarEnd for toolbars
For the sake of smooth adaptivity, we need the toolbar buttons
to be constant in both modes instead of moving places from one
mode to another. Instead of duplicating these groups of
buttons, we can refactor them into an object for toolbars
and use them in multiple places.

This commit takes the widgets from the end of the header bar and
creates `GcalToolbarEnd`, which is used in the header bar and the
mobile action bar.
2022-08-12 03:00:08 +00:00
Christopher Davis 78d9dd1e8e window: Move action widgets at small widths
Moves the action widgets (Today, New Event, Search) to an
action bar when the window shrinks.
2022-08-12 03:00:08 +00:00
Christopher Davis 4cc727f48d window: Use AdwLeaflet for foldable window
Allows the window to shrink to a smaller width via AdwLeaflet.
2022-08-12 03:00:08 +00:00
Christopher Davis 117611ac1d application: Port to AdwAboutWindow 2022-07-15 00:51:20 +00:00
Christopher Davis 905128cc69 event-editor: Use AdwEntryRow 2022-07-07 12:53:22 -04:00
Adrien Plazas 6b39f7552b week-view: Allow zooming with Ctrl+Scroll
So it's possible to zoom even if the device doesn't support pinching to
do so.
2022-06-23 19:29:17 +02:00
Adrien Plazas 7b19a0fca7 week-view: Split zooming into dedicating functions
This will help zooming with in other ways like Ctrl+Scroll.
2022-06-23 17:09:15 +00:00
Adrien Plazas bed7f9e027 event-widget: Use .dim-label instead of a hard-coded opacity
This uses the standard opacity for events of lower importance and
ensures the opacity difference is lower in HighContrast, helping
accessibility.
2022-06-23 16:51:56 +00:00
Georges Basile Stavracas Neto 4c9e7a2d03 manager: Bring back credentials 2022-06-23 13:50:20 -03:00
Adrien Plazas f7ef1aea65 event-widget: Fix the indentation
It was purposefully left broken in the previous commit.
2022-06-22 12:49:38 +00:00
Adrien Plazas b68f7a0083 event-widget: Style overhaul
This reworks the style of the event widgets to make them match the
latest designs. This also supports the light and dark theme preferences
and fixes some spacing inconsistencies and errors.
- The orientation of events only affects how their content is laid out,
  not their style.
- Events are fully colored accordingly to their calendar's color.
- Timed events have a semi-transparent background and a kind of opaque
  knob on their left.
- Timed events have their text colored according to the theme.
- Lasting events are fully opaque, with no knob.
- Lasting events have their text colored according to their calendar's
  color.

This purposefully leaves the indentation broken to help reviewing the
changes.
2022-06-22 12:49:38 +00:00
Adrien Plazas 40ce81f81a Use the Libadwaita style loading mechanism
This simplifies the code and will help support the dark and high
constrast variants.
2022-06-22 12:49:38 +00:00
Adrien Plazas f0021fcffb week-view: Add a zoom gesture
This will help the week view work well on small touchscreens and it also
works with touchpads.
2022-06-22 12:04:21 +00:00
Milan Crha 0bd11799dc Port to libsoup3 2022-06-22 08:51:30 -03:00
Cleo Menezes Jr 0fa383a14a new-calendar-page: fix Calendar files are not shown 2022-06-22 01:26:50 -04:00
Abdullahi Usman be0a2312d9 search-model: check for duplicate events in search bar 2022-06-21 12:28:54 +00:00
Adrien Plazas fd2b0a96a5 Drop the unused calendar-year-symbolic icon
This icon was left unused since we removed the year view.
2022-06-20 09:19:45 +02:00
Adrien Plazas 48ab4baa98 calendar-button: Restyle
This gives it a label and an arrow to match the new design.
2022-06-16 08:34:27 -03:00
Adrien Plazas e24f1812d6 window: Fix the indentation
It was purposefully left broken in the previous commits to help
reviewing the actual changes.
2022-06-16 08:34:27 -03:00
Adrien Plazas e611580ef3 window: Reorganize buttons
This matches the new design.
2022-06-16 08:34:27 -03:00
Adrien Plazas 54a8445abb window: Drop the back and forward buttons
They aren't needed anymore as we have a date chooser, and they are
absent from the new design.
2022-06-16 08:34:27 -03:00
Adrien Plazas a3f21be8b4 window: Add a sidebar with a date chooser and an agenda
This starts implementing the sidebar of the new design.
2022-06-16 08:34:27 -03:00
Adrien Plazas 3c37304e54 window: Move the toast overlay at the root of the window
This is needed to add a sidebar.
2022-06-16 08:34:27 -03:00
Adrien Plazas 06aab9952a Add GcalAgendaView 2022-06-16 08:34:25 -03:00
Adrien Plazas cb439095a5 event-widget: Add the timestamp-policy property
This gives some control on what time is displayed on the widget. It will
be used to show the time of the end of an event in the agenda view.
2022-06-16 08:23:45 -03:00
Adrien Plazas 0d27b08803 event-widget: Set the squeezer's margin via CSS
This ensure the style is consistent and updates itself automatically as
the CSS classes change, and also makes the code simpler.
2022-06-16 08:23:45 -03:00
Adrien Plazas 4cf8b51de1 enums: Add the GcalTimestampPolicy enum
This will be used to control more freely what timestamp is shown on
event widgets.
2022-06-16 08:23:45 -03:00
Adrien Plazas 051212f44b multi-choice: Fix the indentation
It was left purposefully broken in the previous commit.
2022-06-16 08:23:45 -03:00
Adrien Plazas b031c9591a multi-choice: Add the popover property
This allows a multi choice's label to be clicked to reveal a popover. It
is needed by the date chooser, to have a combined month and year choice
that can be split in two via a popover.

This leaves the indendation purposefully broken to ease reviewing the
actual changes.
2022-06-16 08:23:45 -03:00
Adrien Plazas 78931df46c date-chooser: Add the split-month-year property
This allows unifying the month and year selectors into a single month
and year selector by setting it to false.
2022-06-16 08:23:44 -03:00
Adrien Plazas db0f07136c date-chooser: Implement GcalView
This also replace the date property by the overridden active-date one
ans adds the context property.
2022-06-16 08:22:45 -03:00
Adrien Plazas 6cb57b0ad5 date-chooser: Add the show-events property
This allows showing events from the timeline via a dot.
2022-06-16 08:19:49 -03:00
Adrien Plazas b5d8575445 date-chooser: Implement GcalTimelineSubscriber
This allows the date chooser to receive events from the timeline, and
will allow it to show them via a dot.
2022-06-16 08:19:47 -03:00
Adrien Plazas 9911386706 date-chooser: Add the show-selected-week property
If enabled, the selected week will be made visible.
2022-06-16 08:16:04 -03:00
Adrien Plazas 7b5a934250 date-chooser: Use ROWS and COLS macros
This makes the code easier to read and update.
2022-06-16 08:16:04 -03:00
Adrien Plazas 54e0a5784c date-chooser-day: Add .non-workday class to the current day
This will help making the non worked days let prominent.
2022-06-16 08:15:51 -03:00
Adrien Plazas 21895416f3 date-chooser-day: Add the .today style class to the current day
This will help making the current day pop out a bit.
2022-06-16 08:14:54 -03:00
Adrien Plazas d76617f809 date-chooser-day: Automatically free the string 2022-06-16 09:29:16 +02:00
Adrien Plazas 7198ce41f9 date-chooser-day: Add the has-dot and dot-visible properties
This allows the days to display events.
2022-06-16 09:29:16 +02:00
Adrien Plazas 0ff62c4314 date-chooser-day: Always have the size of two characters
This ensures the size will be consistent for all days.
2022-06-16 09:29:16 +02:00
Adrien Plazas b5841e1100 date-chooser-day: Use the numeric style class
This ensures the digits are well aligned.
2022-06-16 09:29:16 +02:00
Adrien Plazas a58fa3deb8 date-chooser-day: Use a template
This makes the widget easier to maintain.
2022-06-16 09:29:16 +02:00
Adrien Plazas f9c4501d6c date-chooser-day: Make it a button
This stops reimplementing a flat button and use GtkButton directly
instead.
2022-06-16 09:29:16 +02:00
Adrien Plazas 9c641fa597 week-grid: Allocate event widgets a valid size
This ensures event widgets are allocated at least their size request,
fixing critical errors and visual glitches.
2022-06-15 11:34:03 -03:00
Adrien Plazas e370aebac4 event-widget: Fix the indentation 2022-06-15 11:34:03 -03:00
Adrien Plazas 2baa96d29f event-widget: Properly overflow
This explicitely allows the hour widget and the content as a whole to
overflow horizontally, and hides what overflows, keeping the data within
the boundaries of the widget while still allowing it to reach very
narrow sizes without error messages.

This purposefully leaves the indentation broken to help reviewing the
actual changes.
2022-06-15 11:34:03 -03:00
Adrien Plazas ca0a5de0f9 Add GcalOverflowBin and GcalOverflowBinLayout
This is a bin that purposefully can let its child overflow the
allocation, based on the size request mode. This will be used
to allow the event widget to reach smaller widths.
2022-06-15 11:33:49 -03:00