changeset b553daa13fce in tryton:default details: https://hg.tryton.org/tryton?cmd=changeset;node=b553daa13fce description: Add day view on calendar
issue7774 review66441002 diffstat: CHANGELOG | 1 + tryton/gui/window/view_form/view/calendar_gtk/calendar_.py | 3 + tryton/gui/window/view_form/view/calendar_gtk/toolbar.py | 25 +++++++++++-- 3 files changed, 24 insertions(+), 5 deletions(-) diffs (83 lines): diff -r a947e71b9a4c -r b553daa13fce CHANGELOG --- a/CHANGELOG Wed Mar 27 23:24:09 2019 +0100 +++ b/CHANGELOG Thu Mar 28 12:25:23 2019 +0100 @@ -1,3 +1,4 @@ +* Add day view on calendar * Add CSV exports into print toolbar * Display unread and total of notes * Support badge on icon diff -r a947e71b9a4c -r b553daa13fce tryton/gui/window/view_form/view/calendar_gtk/calendar_.py --- a/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py Wed Mar 27 23:24:09 2019 +0100 +++ b/tryton/gui/window/view_form/view/calendar_gtk/calendar_.py Thu Mar 28 12:25:23 2019 +0100 @@ -27,6 +27,9 @@ def get_displayed_period(self): cal = calendar.Calendar(self.firstweekday) + if self.view == 'day': + first_date = self.selected_date + last_date = self.selected_date + datetime.timedelta(1) if self.view == 'week': week = goocalendar.util.my_weekdatescalendar(cal, self.selected_date) diff -r a947e71b9a4c -r b553daa13fce tryton/gui/window/view_form/view/calendar_gtk/toolbar.py --- a/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py Wed Mar 27 23:24:09 2019 +0100 +++ b/tryton/gui/window/view_form/view/calendar_gtk/toolbar.py Thu Mar 28 12:25:23 2019 +0100 @@ -107,7 +107,15 @@ blank_widget.set_expand(True) self.insert(blank_widget, -1) - week_button = Gtk.RadioToolButton() + day_button = Gtk.RadioToolButton() + day_button.set_label(_('Day View')) + day_button.connect("clicked", self.on_day_button_clicked) + day_button.add_accelerator( + "clicked", self.accel_group, Gdk.KEY_d, + Gdk.ModifierType.MODIFIER_MASK, Gtk.AccelFlags.VISIBLE) + self.insert(day_button, -1) + + week_button = Gtk.RadioToolButton.new_from_widget(day_button) week_button.set_label(_('Week View')) week_button.connect("clicked", self.on_week_button_clicked) week_button.add_accelerator( @@ -124,7 +132,8 @@ self.insert(month_button, -1) buttons = { 'month': month_button, - 'week': week_button + 'week': week_button, + 'day': day_button, } buttons[self.goocalendar.view].set_active(True) self.update_displayed_date() @@ -135,15 +144,18 @@ year = date.timetuple()[0] month = date.timetuple()[1] day = date.timetuple()[2] + month_label = calendar.month_name[month] self.current_year_label.set_text(str(year)) if self.goocalendar.view == "month": - new_label = calendar.month_name[month] - self.current_page_label.set_text(new_label) + self.current_page_label.set_text(month_label) elif self.goocalendar.view == "week": week_number = datetime.date(year, month, day).isocalendar()[1] new_label = _('Week') + ' ' + str(week_number) - new_label += ' (' + calendar.month_name[month] + ')' + new_label += ' (' + month_label + ')' + self.current_page_label.set_text(new_label) + elif self.goocalendar.view == "day": + new_label = date.strftime('%x') self.current_page_label.set_text(new_label) def on_today_button_clicked(self, widget): @@ -224,6 +236,9 @@ day = max(next_month_days) self.goocalendar.select(datetime.datetime(year, month, day)) + def on_day_button_clicked(self, widget): + self.goocalendar.set_view("day") + def on_week_button_clicked(self, widget): self.goocalendar.set_view("week")