Advertisement
Guest User

Untitled

a guest
Dec 22nd, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Vala 1.50 KB | None | 0 0
  1.     /* Sets the calendar widgets to the date range of the model */
  2.     void sync_with_model () {
  3.         var model = Model.CalendarModel.get_default ();
  4.         if (grid.grid_range != null && (model.data_range.equals (grid.grid_range) || grid.grid_range.first.compare (model.data_range.first) == 0))
  5.             return; // nothing to do
  6.  
  7.         DateTime previous_first = null;
  8.         if (grid.grid_range != null)
  9.             previous_first = grid.grid_range.first;
  10.         var previous_big_grid = big_grid;
  11.         big_grid = create_big_grid ();
  12.         stack.add (big_grid);
  13.  
  14.         header.update_columns (model.week_starts_on);
  15.         weeks.update (model.data_range.first, model.num_weeks);
  16.         grid.set_range (model.data_range, model.month_start);
  17.  
  18.         // keep focus date on the same day of the month
  19.         if (selected_date != null) {
  20.             var bumpdate = model.month_start.add_days (selected_date.get_day_of_month() - 1);
  21.             grid.focus_date (bumpdate);
  22.         }
  23.  
  24.         if (previous_first != null) {
  25.             if (previous_first.compare (grid.grid_range.first) == -1) {
  26.                 stack.transition_type = Gtk.StackTransitionType.SLIDE_UP;
  27.             } else {
  28.                 stack.transition_type = Gtk.StackTransitionType.SLIDE_DOWN;
  29.             }
  30.         }
  31.  
  32.         stack.set_visible_child (big_grid);
  33.         //Timeout.add (stack.transition_duration, () => {
  34.             previous_big_grid.destroy ();
  35.           //  return false;
  36.         //});
  37.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement