[Xfce4-commits] <orage:master> Fixed bug 5439: please add an option to switch on/off week counter in calendar
Juha Kautto
juha at xfce.org
Tue Sep 8 14:16:01 CEST 2009
Updating branch refs/heads/master
to a5027029f68590327fe298801864deb7f63ad85a (commit)
from 93b8fedd6286b830cfb243806d10a873bd73478d (commit)
commit a5027029f68590327fe298801864deb7f63ad85a
Author: Juha Kautto <juha at xfce.org>
Date: Tue Sep 8 15:00:26 2009 +0300
Fixed bug 5439: please add an option to switch on/off week counter in calendar
Added settings to modify all calendar display options.
configure.in.in | 2 +-
src/mainbox.c | 2 +
src/parameters.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
src/parameters.h | 3 ++
4 files changed, 81 insertions(+), 2 deletions(-)
diff --git a/configure.in.in b/configure.in.in
index 20412ad..1f4dc76 100644
--- a/configure.in.in
+++ b/configure.in.in
@@ -9,7 +9,7 @@ dnl Written for Xfce by Juha Kautto <juha at xfce.org>
dnl
dnl Version information
-m4_define([orage_version], [4.7.4.2-test])
+m4_define([orage_version], [4.7.4.3-test])
m4_define([gtk_minimum_version], [2.10.0])
m4_define([xfce_minimum_version], [4.6.0])
diff --git a/src/mainbox.c b/src/mainbox.c
index 7cdb925..70d75ce 100644
--- a/src/mainbox.c
+++ b/src/mainbox.c
@@ -717,9 +717,11 @@ void build_mainWin()
/* Build the calendar */
cal->mCalendar = gtk_calendar_new();
gtk_box_pack_start(GTK_BOX(cal->mVbox), cal->mCalendar, TRUE, TRUE, 0);
+ /*
gtk_calendar_set_display_options(GTK_CALENDAR(cal->mCalendar)
, GTK_CALENDAR_SHOW_HEADING | GTK_CALENDAR_SHOW_DAY_NAMES
| GTK_CALENDAR_SHOW_WEEK_NUMBERS);
+ */
gtk_widget_show(cal->mCalendar);
/* Build the Info boxes */
diff --git a/src/parameters.c b/src/parameters.c
index a8f2229..2c49725 100644
--- a/src/parameters.c
+++ b/src/parameters.c
@@ -85,6 +85,9 @@ typedef struct _Itf
GtkWidget *mode_frame;
GtkWidget *show_borders_checkbutton;
GtkWidget *show_menu_checkbutton;
+ GtkWidget *show_heading_checkbutton;
+ GtkWidget *show_day_names_checkbutton;
+ GtkWidget *show_weeks_checkbutton;
GtkWidget *set_stick_checkbutton;
GtkWidget *set_ontop_checkbutton;
/* Show in... taskbar pager systray */
@@ -226,6 +229,42 @@ static void menu_changed(GtkWidget *dialog, gpointer user_data)
set_menu();
}
+static void set_calendar()
+{
+ gtk_calendar_set_display_options(
+ GTK_CALENDAR(((CalWin *)g_par.xfcal)->mCalendar)
+ , (g_par.show_heading ? GTK_CALENDAR_SHOW_HEADING : 0)
+ | (g_par.show_day_names ? GTK_CALENDAR_SHOW_DAY_NAMES : 0)
+ | (g_par.show_weeks ? GTK_CALENDAR_SHOW_WEEK_NUMBERS : 0));
+}
+
+static void heading_changed(GtkWidget *dialog, gpointer user_data)
+{
+ Itf *itf = (Itf *)user_data;
+
+ g_par.show_heading = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
+ itf->show_heading_checkbutton));
+ set_calendar();
+}
+
+static void days_changed(GtkWidget *dialog, gpointer user_data)
+{
+ Itf *itf = (Itf *)user_data;
+
+ g_par.show_day_names = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
+ itf->show_day_names_checkbutton));
+ set_calendar();
+}
+
+static void weeks_changed(GtkWidget *dialog, gpointer user_data)
+{
+ Itf *itf = (Itf *)user_data;
+
+ g_par.show_weeks = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
+ itf->show_weeks_checkbutton));
+ set_calendar();
+}
+
static void set_todos()
{
if (g_par.show_todos)
@@ -549,7 +588,8 @@ static void create_parameter_dialog_display_tab(Itf *dialog)
gtk_notebook_append_page(GTK_NOTEBOOK(dialog->notebook)
, dialog->display_tab, dialog->display_tab_label);
- /* Display calendar borders and menu or not and set stick or ontop */
+ /* Display calendar borders and menu and calendar options or not
+ * and set stick or ontop */
vbox = gtk_vbox_new(TRUE, 0);
dialog->mode_frame =
orage_create_framebox_with_content(_("Calendar main window"), vbox);
@@ -570,6 +610,27 @@ static void create_parameter_dialog_display_tab(Itf *dialog)
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
dialog->show_menu_checkbutton), g_par.show_menu);
+ dialog->show_heading_checkbutton = gtk_check_button_new_with_mnemonic(
+ _("Show month and year"));
+ gtk_box_pack_start(GTK_BOX(vbox)
+ , dialog->show_heading_checkbutton, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
+ dialog->show_heading_checkbutton), g_par.show_heading);
+
+ dialog->show_day_names_checkbutton = gtk_check_button_new_with_mnemonic(
+ _("Show day names"));
+ gtk_box_pack_start(GTK_BOX(vbox)
+ , dialog->show_day_names_checkbutton, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
+ dialog->show_day_names_checkbutton), g_par.show_day_names);
+
+ dialog->show_weeks_checkbutton = gtk_check_button_new_with_mnemonic(
+ _("Show week numbers"));
+ gtk_box_pack_start(GTK_BOX(vbox)
+ , dialog->show_weeks_checkbutton, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(
+ dialog->show_weeks_checkbutton), g_par.show_weeks);
+
dialog->show_todos_checkbutton = gtk_check_button_new_with_mnemonic(
_("Show todo list"));
gtk_box_pack_start(GTK_BOX(vbox)
@@ -602,6 +663,12 @@ static void create_parameter_dialog_display_tab(Itf *dialog)
, G_CALLBACK(borders_changed), dialog);
g_signal_connect(G_OBJECT(dialog->show_menu_checkbutton), "toggled"
, G_CALLBACK(menu_changed), dialog);
+ g_signal_connect(G_OBJECT(dialog->show_heading_checkbutton), "toggled"
+ , G_CALLBACK(heading_changed), dialog);
+ g_signal_connect(G_OBJECT(dialog->show_day_names_checkbutton), "toggled"
+ , G_CALLBACK(days_changed), dialog);
+ g_signal_connect(G_OBJECT(dialog->show_weeks_checkbutton), "toggled"
+ , G_CALLBACK(weeks_changed), dialog);
g_signal_connect(G_OBJECT(dialog->show_todos_checkbutton), "toggled"
, G_CALLBACK(todos_changed), dialog);
g_signal_connect(G_OBJECT(dialog->show_events_checkbutton), "toggled"
@@ -912,6 +979,9 @@ void write_parameters()
orage_rc_put_bool(orc, "Select Always Today"
, g_par.select_always_today);
orage_rc_put_bool(orc, "Show borders", g_par.show_borders);
+ orage_rc_put_bool(orc, "Show heading", g_par.show_heading);
+ orage_rc_put_bool(orc, "Show day names", g_par.show_day_names);
+ orage_rc_put_bool(orc, "Show weeks", g_par.show_weeks);
orage_rc_put_bool(orc, "Show todos", g_par.show_todos);
orage_rc_put_bool(orc, "Show events", g_par.show_events);
orage_rc_put_bool(orc, "Show in pager", g_par.show_pager);
@@ -1063,6 +1133,9 @@ void read_parameters(void)
g_par.select_always_today =
orage_rc_get_bool(orc, "Select Always Today", FALSE);
g_par.show_borders = orage_rc_get_bool(orc, "Show borders", TRUE);
+ g_par.show_heading = orage_rc_get_bool(orc, "Show heading", TRUE);
+ g_par.show_day_names = orage_rc_get_bool(orc, "Show day names", TRUE);
+ g_par.show_weeks = orage_rc_get_bool(orc, "Show weeks", TRUE);
g_par.show_todos = orage_rc_get_bool(orc, "Show todos", TRUE);
g_par.show_events = orage_rc_get_bool(orc, "Show events", TRUE);
g_par.show_pager = orage_rc_get_bool(orc, "Show in pager", TRUE);
@@ -1110,6 +1183,7 @@ void set_parameters()
set_border();
set_taskbar();
set_pager();
+ set_calendar();
/*
set_systray();
*/
diff --git a/src/parameters.h b/src/parameters.h
index 3f38df5..8a3ca5f 100644
--- a/src/parameters.h
+++ b/src/parameters.h
@@ -37,6 +37,9 @@ typedef struct _parameters
gboolean select_always_today;
gboolean show_menu;
gboolean show_borders;
+ gboolean show_heading;
+ gboolean show_day_names;
+ gboolean show_weeks;
gboolean show_todos;
gboolean show_events;
gboolean show_pager;
More information about the Xfce4-commits
mailing list