[planner: 43/61] planner-calendar: Drop and use GtkCalendar instead
- From: Mart Raudsepp <mraudsepp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [planner: 43/61] planner-calendar: Drop and use GtkCalendar instead
- Date: Sat, 12 Jun 2021 17:30:26 +0000 (UTC)
commit cad636c46c329b074e273de7f55165b256f7c9ff
Author: Mart Raudsepp <leio gentoo org>
Date: Fri Jan 1 17:27:36 2021 +0200
planner-calendar: Drop and use GtkCalendar instead
PlannerCalendar was GtkCalendar code copied from around October 2002,
with different indentation and gtk_calendar_mark_day changed to support
a specific mark type: NONE, BOLD, UNDERLINE, SHADE or STRIPE.
It appears to most closely match GTK code of GtkCalendar at GTK commit
fb6a7df846c6f553a2cd3387b12d0027bc986f43 and I have compared the code
locally to indeed be identical to that GTK 2002 year state with different
indent style and PlannerCalendarMarkType added to the mark setting and
drawing functionality.
With PlannerCalendar only NONE and SHADE were used, where NONE equals
unmarked day in GTK version and SHADE is a grey background for the number
to denote non-working day. Now a simple mark is used for non-working days
for the time being, which results in a BOLD marking, which isn't ideal,
but carrying a forked GtkDialog that hasn't been updated with changes in
upstream gtk for almost 2 decades is worse.
We can reintroduce separate styling later on top of modern GtkDialog
code that gets re-imported and slightly modified, or even by figuring
out a way to achieve it without bundling a slightly modified full copy.
PlannerCalendar was also only used in "Manage Calendars" dialog, while
all the other calendar usages already were GtkCalendar without any
non-working days marking at all.
src/meson.build | 1 -
src/planner-calendar-dialog.c | 44 +-
src/planner-calendar-selector.c | 1 -
src/planner-calendar.c | 2759 ---------------------------------------
src/planner-calendar.h | 147 ---
5 files changed, 20 insertions(+), 2932 deletions(-)
---
diff --git a/src/meson.build b/src/meson.build
index 2d3466a6..9bc1507a 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -4,7 +4,6 @@ libplanner_app_srcs = [
'planner-application.c',
'planner-assignment-model.c',
'planner-conf-gconf.c',
- 'planner-calendar.c',
'planner-calendar-dialog.c',
'planner-calendar-selector.c',
'planner-canvas-line.c',
diff --git a/src/planner-calendar-dialog.c b/src/planner-calendar-dialog.c
index c22c3771..d2f81d66 100644
--- a/src/planner-calendar-dialog.c
+++ b/src/planner-calendar-dialog.c
@@ -29,7 +29,6 @@
#include <libplanner/mrp-object.h>
#include <libplanner/mrp-project.h>
#include <libplanner/mrp-paths.h>
-#include "planner-calendar.h"
#include "planner-working-time-dialog.h"
#include "planner-default-week-dialog.h"
#include "planner-calendar-dialog.h"
@@ -107,9 +106,9 @@ static void cal_dialog_selection_changed_cb (GtkTreeSelection *select
static void cal_dialog_apply_clicked_cb (GtkWidget *button,
DialogData *data);
static void cal_dialog_update_calendar_widgets (DialogData *data);
-static void cal_dialog_month_changed_cb (PlannerCalendar *calendar,
+static void cal_dialog_month_changed_cb (GtkCalendar *calendar,
DialogData *data);
-static void cal_dialog_date_selected_cb (PlannerCalendar *calendar,
+static void cal_dialog_date_selected_cb (GtkCalendar *calendar,
DialogData *data);
static void cal_dialog_day_combo_changed_cb (GtkWidget *combo,
DialogData *data);
@@ -610,14 +609,13 @@ planner_calendar_dialog_new (PlannerWindow *window)
0);
data->tree_view = GTK_WIDGET (gtk_builder_get_object (builder, "treeview"));
- data->calendar = planner_calendar_new ();
+ data->calendar = gtk_calendar_new ();
gtk_widget_show (data->calendar);
- planner_calendar_display_options (PLANNER_CALENDAR (data->calendar),
- PLANNER_CALENDAR_SHOW_HEADING |
- PLANNER_CALENDAR_SHOW_DAY_NAMES |
- PLANNER_CALENDAR_SHOW_WEEK_NUMBERS |
- PLANNER_CALENDAR_WEEK_START_MONDAY);
+ gtk_calendar_set_display_options (GTK_CALENDAR (data->calendar),
+ GTK_CALENDAR_SHOW_HEADING |
+ GTK_CALENDAR_SHOW_DAY_NAMES |
+ GTK_CALENDAR_SHOW_WEEK_NUMBERS);
g_signal_connect (data->calendar,
"month_changed",
G_CALLBACK (cal_dialog_month_changed_cb),
@@ -841,7 +839,7 @@ cal_dialog_apply_clicked_cb (GtkWidget *button,
return;
}
- planner_calendar_get_date (PLANNER_CALENDAR (data->calendar), &y, &m, &d);
+ gtk_calendar_get_date (GTK_CALENDAR (data->calendar), &y, &m, &d);
t = mrp_time_compose (y, m + 1, d, 0, 0, 0);
/* mrp_calendar_set_days (calendar, t, day, (mrptime) -1); */
planner_cal_cmd_day_type (data->main_window, calendar, day, t);
@@ -875,7 +873,7 @@ static void
cal_dialog_update_calendar_widgets (DialogData *data)
{
MrpCalendar *calendar;
- PlannerCalendar *calendar_widget;
+ GtkCalendar *calendar_widget;
guint y, m, d;
MrpDay *day;
MrpTime *t;
@@ -889,13 +887,13 @@ cal_dialog_update_calendar_widgets (DialogData *data)
return;
}
- calendar_widget = PLANNER_CALENDAR (data->calendar);
+ calendar_widget = GTK_CALENDAR (data->calendar);
gtk_widget_set_sensitive (data->calendar, TRUE);
gtk_widget_set_sensitive (data->default_week_button, TRUE);
gtk_widget_set_sensitive (data->working_time_button, TRUE);
- planner_calendar_get_date (calendar_widget, &y, &m, &d);
+ gtk_calendar_get_date (calendar_widget, &y, &m, &d);
t = mrp_time2_new ();
mrp_time2_set_date (t, y, m+1, 1);
@@ -907,14 +905,12 @@ cal_dialog_update_calendar_widgets (DialogData *data)
day = mrp_calendar_get_day (calendar, time, TRUE);
if (day == mrp_day_get_nonwork ()) {
- planner_calendar_mark_day (calendar_widget,
- d,
- PLANNER_CALENDAR_MARK_SHADE);
+ gtk_calendar_mark_day (calendar_widget,
+ d);
}
else if (day == mrp_day_get_work ()) {
- planner_calendar_mark_day (calendar_widget,
- d,
- PLANNER_CALENDAR_MARK_NONE);
+ gtk_calendar_unmark_day (calendar_widget,
+ d);
}
mrp_time2_add_days (t, 1);
@@ -923,7 +919,7 @@ cal_dialog_update_calendar_widgets (DialogData *data)
}
static void
-cal_dialog_month_changed_cb (PlannerCalendar *calendar_widget,
+cal_dialog_month_changed_cb (GtkCalendar *calendar_widget,
DialogData *data)
{
cal_dialog_update_calendar_widgets (data);
@@ -931,7 +927,7 @@ cal_dialog_month_changed_cb (PlannerCalendar *calendar_widget,
}
static void
-cal_dialog_date_selected_cb (PlannerCalendar *calendar_widget,
+cal_dialog_date_selected_cb (GtkCalendar *calendar_widget,
DialogData *data)
{
cal_dialog_update_day_widgets (data);
@@ -970,7 +966,7 @@ cal_dialog_update_day_widgets (DialogData *data)
MrpDay *day;
GList *ivals, *l;
MrpCalendar *calendar, *root;
- PlannerCalendar *calendar_widget;
+ GtkCalendar *calendar_widget;
guint y, m, d;
mrptime t;
gint i;
@@ -1014,9 +1010,9 @@ cal_dialog_update_day_widgets (DialogData *data)
gtk_widget_set_sensitive (data->base_radiobutton, TRUE);
}
- calendar_widget = PLANNER_CALENDAR (data->calendar);
+ calendar_widget = GTK_CALENDAR (data->calendar);
- planner_calendar_get_date (calendar_widget, &y, &m, &d);
+ gtk_calendar_get_date (calendar_widget, &y, &m, &d);
t = mrp_time_compose (y, m + 1, d, 0, 0, 0);
day = mrp_calendar_get_day (calendar, t, FALSE);
diff --git a/src/planner-calendar-selector.c b/src/planner-calendar-selector.c
index 29be2e55..472c4f67 100644
--- a/src/planner-calendar-selector.c
+++ b/src/planner-calendar-selector.c
@@ -27,7 +27,6 @@
#include <libplanner/mrp-object.h>
#include <libplanner/mrp-project.h>
#include "libplanner/mrp-paths.h"
-#include "planner-calendar.h"
#include "planner-calendar-selector.h"
#include "planner-util.h"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]