Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Sets the calendar widgets to the date range of the model */
- void sync_with_model () {
- var model = Model.CalendarModel.get_default ();
- if (grid.grid_range != null && (model.data_range.equals (grid.grid_range) || grid.grid_range.first.compare (model.data_range.first) == 0))
- return; // nothing to do
- DateTime previous_first = null;
- if (grid.grid_range != null)
- previous_first = grid.grid_range.first;
- var previous_big_grid = big_grid;
- big_grid = create_big_grid ();
- stack.add (big_grid);
- header.update_columns (model.week_starts_on);
- weeks.update (model.data_range.first, model.num_weeks);
- grid.set_range (model.data_range, model.month_start);
- // keep focus date on the same day of the month
- if (selected_date != null) {
- var bumpdate = model.month_start.add_days (selected_date.get_day_of_month() - 1);
- grid.focus_date (bumpdate);
- }
- if (previous_first != null) {
- if (previous_first.compare (grid.grid_range.first) == -1) {
- stack.transition_type = Gtk.StackTransitionType.SLIDE_UP;
- } else {
- stack.transition_type = Gtk.StackTransitionType.SLIDE_DOWN;
- }
- }
- stack.set_visible_child (big_grid);
- //Timeout.add (stack.transition_duration, () => {
- previous_big_grid.destroy ();
- // return false;
- //});
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement