diff options
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r-- | calendar/gui/dialogs/cal-prefs-dialog.c | 72 | ||||
-rw-r--r-- | calendar/gui/dialogs/cal-prefs-dialog.glade | 465 |
2 files changed, 119 insertions, 418 deletions
diff --git a/calendar/gui/dialogs/cal-prefs-dialog.c b/calendar/gui/dialogs/cal-prefs-dialog.c index 3451f6e4a5..de3cbf2483 100644 --- a/calendar/gui/dialogs/cal-prefs-dialog.c +++ b/calendar/gui/dialogs/cal-prefs-dialog.c @@ -29,6 +29,7 @@ */ #include <config.h> +#include <libgnomeui/gnome-color-picker.h> #include <glade/glade.h> #include <gal/util/e-util.h> #include <e-util/e-dialog-widgets.h> @@ -57,6 +58,10 @@ struct _CalPrefsDialogPrivate { GtkWidget *show_end_times; GtkWidget *compress_weekend; GtkWidget *dnav_show_week_no; + + /* Widgets for the task list options */ + GtkWidget *tasks_due_today_color; + GtkWidget *tasks_overdue_color; }; static const int week_start_day_map[] = { @@ -209,6 +214,9 @@ get_widgets (CalPrefsDialog *prefs) priv->compress_weekend = GW ("compress_weekend"); priv->dnav_show_week_no = GW ("dnav_show_week_no"); + priv->tasks_due_today_color = GW ("tasks_due_today_color"); + priv->tasks_overdue_color = GW ("tasks_overdue_color"); + #undef GW return (priv->dialog @@ -343,6 +351,37 @@ cal_prefs_dialog_use_24_hour_toggled (GtkWidget *button, use_24_hour); } +/* Sets the color in a color picker from an X color spec */ +static void +set_color_picker (GtkWidget *picker, const char *spec) +{ + GdkColor color; + + g_assert (spec != NULL); + + if (!gdk_color_parse (spec, &color)) { + color.red = color.green = color.blue = 0; + return; + } + + gnome_color_picker_set_i16 (GNOME_COLOR_PICKER (picker), + color.red, + color.green, + color.blue, + 65535); +} + +/* Shows the current task list settings in the dialog */ +static void +show_task_list_config (CalPrefsDialog *prefs) +{ + CalPrefsDialogPrivate *priv; + + priv = prefs->priv; + + set_color_picker (priv->tasks_due_today_color, calendar_config_get_tasks_due_today_color ()); + set_color_picker (priv->tasks_overdue_color, calendar_config_get_tasks_overdue_color ()); +} /* Shows the current config settings in the dialog. */ static void @@ -403,8 +442,38 @@ cal_prefs_dialog_show_config (CalPrefsDialog *prefs) /* Date Navigator - Show Week Numbers. */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->dnav_show_week_no), calendar_config_get_dnav_show_week_no ()); + + /* Task list */ + + show_task_list_config (prefs); +} + +/* Returns a pointer to a static string with an X color spec for the current + * value of a color picker. + */ +static const char * +spec_from_picker (GtkWidget *picker) +{ + static char spec[8]; + guint8 r, g, b; + + gnome_color_picker_get_i8 (GNOME_COLOR_PICKER (picker), &r, &g, &b, NULL); + g_snprintf (spec, sizeof (spec), "#%02x%02x%02x", r, g, b); + + return spec; } +/* Updates the task list config values from the settings in the dialog */ +static void +update_task_list_config (CalPrefsDialog *prefs) +{ + CalPrefsDialogPrivate *priv; + + priv = prefs->priv; + + calendar_config_set_tasks_due_today_color (spec_from_picker (priv->tasks_due_today_color)); + calendar_config_set_tasks_overdue_color (spec_from_picker (priv->tasks_overdue_color)); +} /* Updates the config values based on the settings in the dialog. */ static void @@ -465,6 +534,9 @@ cal_prefs_dialog_update_config (CalPrefsDialog *prefs) /* Date Navigator - Show Week Numbers. */ calendar_config_set_dnav_show_week_no (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->dnav_show_week_no))); + /* Task list */ + update_task_list_config (prefs); + calendar_config_write (); update_all_config_settings (); e_tasks_update_all_config_settings (); diff --git a/calendar/gui/dialogs/cal-prefs-dialog.glade b/calendar/gui/dialogs/cal-prefs-dialog.glade index bf45b072ce..038d091a72 100644 --- a/calendar/gui/dialogs/cal-prefs-dialog.glade +++ b/calendar/gui/dialogs/cal-prefs-dialog.glade @@ -256,7 +256,7 @@ <widget> <class>GtkFrame</class> <name>frame9</name> - <label>Work week</label> + <label>Work Week</label> <label_xalign>0</label_xalign> <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> <child> @@ -506,10 +506,6 @@ Sunday </widget> </widget> </widget> - - <widget> - <class>Placeholder</class> - </widget> </widget> <widget> @@ -535,7 +531,7 @@ Sunday <widget> <class>GtkFrame</class> <name>frame10</name> - <label>Display options</label> + <label>Display</label> <label_xalign>0</label_xalign> <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> <child> @@ -667,7 +663,7 @@ Sunday <widget> <class>GtkFrame</class> <name>frame11</name> - <label>Date navigator options</label> + <label>Date Navigator</label> <label_xalign>0</label_xalign> <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> <child> @@ -709,175 +705,40 @@ Sunday <spacing>4</spacing> <widget> - <class>GtkHBox</class> - <name>hbox4</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkFrame</class> - <name>frame3</name> - <label>Show</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkVBox</class> - <name>vbox4</name> - <border_width>4</border_width> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkCheckButton</class> - <name>checkbutton1</name> - <can_focus>True</can_focus> - <label>Due Date</label> - <active>True</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>checkbutton2</name> - <can_focus>True</can_focus> - <label>Time Until Due</label> - <active>True</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>checkbutton3</name> - <can_focus>True</can_focus> - <label>Priority</label> - <active>True</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - </widget> - </widget> - - <widget> - <class>GtkFrame</class> - <name>frame4</name> - <label>Highlight</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkVBox</class> - <name>vbox5</name> - <border_width>4</border_width> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - - <widget> - <class>GtkCheckButton</class> - <name>checkbutton4</name> - <can_focus>True</can_focus> - <label>Overdue Items</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>checkbutton5</name> - <can_focus>True</can_focus> - <label>Items Due Today</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkCheckButton</class> - <name>checkbutton6</name> - <can_focus>True</can_focus> - <label>Items Not Yet Due</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - </widget> - </widget> - </widget> - - <widget> <class>GtkFrame</class> - <name>frame5</name> - <label>Colors</label> + <name>frame13</name> + <label>Colors for Tasks</label> <label_xalign>0</label_xalign> <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> <child> <padding>0</padding> - <expand>True</expand> - <fill>True</fill> + <expand>False</expand> + <fill>False</fill> </child> <widget> <class>GtkTable</class> - <name>table3</name> + <name>table6</name> <border_width>4</border_width> - <rows>3</rows> + <rows>2</rows> <columns>2</columns> <homogeneous>False</homogeneous> <row_spacing>4</row_spacing> <column_spacing>4</column_spacing> <widget> - <class>GnomeColorPicker</class> - <name>colorpicker1</name> - <can_focus>True</can_focus> - <dither>True</dither> - <use_alpha>False</use_alpha> - <title>Pick a color</title> + <class>GtkLabel</class> + <name>label23</name> + <label>Tasks due today</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> + <left_attach>0</left_attach> + <right_attach>1</right_attach> <top_attach>0</top_attach> <bottom_attach>1</bottom_attach> <xpad>0</xpad> @@ -886,21 +747,24 @@ Sunday <yexpand>False</yexpand> <xshrink>False</xshrink> <yshrink>False</yshrink> - <xfill>False</xfill> + <xfill>True</xfill> <yfill>False</yfill> </child> </widget> <widget> - <class>GnomeColorPicker</class> - <name>colorpicker2</name> - <can_focus>True</can_focus> - <dither>True</dither> - <use_alpha>False</use_alpha> - <title>Pick a color</title> + <class>GtkLabel</class> + <name>label24</name> + <label>Overdue tasks</label> + <justify>GTK_JUSTIFY_CENTER</justify> + <wrap>False</wrap> + <xalign>0</xalign> + <yalign>0.5</yalign> + <xpad>0</xpad> + <ypad>0</ypad> <child> - <left_attach>1</left_attach> - <right_attach>2</right_attach> + <left_attach>0</left_attach> + <right_attach>1</right_attach> <top_attach>1</top_attach> <bottom_attach>2</bottom_attach> <xpad>0</xpad> @@ -909,44 +773,21 @@ Sunday <yexpand>False</yexpand> <xshrink>False</xshrink> <yshrink>False</yshrink> - <xfill>False</xfill> + <xfill>True</xfill> <yfill>False</yfill> </child> </widget> <widget> <class>GnomeColorPicker</class> - <name>colorpicker3</name> + <name>tasks_due_today_color</name> <can_focus>True</can_focus> <dither>True</dither> <use_alpha>False</use_alpha> - <title>Pick a color</title> + <title>Color for tasks due today</title> <child> <left_attach>1</left_attach> <right_attach>2</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>False</xfill> - <yfill>False</yfill> - </child> - </widget> - - <widget> - <class>GtkAlignment</class> - <name>alignment1</name> - <xalign>1</xalign> - <yalign>0.5</yalign> - <xscale>1</xscale> - <yscale>1</yscale> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> <top_attach>0</top_attach> <bottom_attach>1</bottom_attach> <xpad>0</xpad> @@ -956,32 +797,20 @@ Sunday <xshrink>False</xshrink> <yshrink>False</yshrink> <xfill>True</xfill> - <yfill>True</yfill> + <yfill>False</yfill> </child> - - <widget> - <class>GtkLabel</class> - <name>label8</name> - <label>Items Not Yet Due:</label> - <justify>GTK_JUSTIFY_RIGHT</justify> - <wrap>False</wrap> - <xalign>1</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> </widget> <widget> - <class>GtkAlignment</class> - <name>alignment2</name> - <xalign>1</xalign> - <yalign>0.5</yalign> - <xscale>1</xscale> - <yscale>1</yscale> + <class>GnomeColorPicker</class> + <name>tasks_overdue_color</name> + <can_focus>True</can_focus> + <dither>True</dither> + <use_alpha>False</use_alpha> + <title>Color for overdue tasks</title> <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> + <left_attach>1</left_attach> + <right_attach>2</right_attach> <top_attach>1</top_attach> <bottom_attach>2</bottom_attach> <xpad>0</xpad> @@ -991,55 +820,8 @@ Sunday <xshrink>False</xshrink> <yshrink>False</yshrink> <xfill>True</xfill> - <yfill>True</yfill> - </child> - - <widget> - <class>GtkLabel</class> - <name>label9</name> - <label>Items Due Today:</label> - <justify>GTK_JUSTIFY_RIGHT</justify> - <wrap>True</wrap> - <xalign>1</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> - </widget> - - <widget> - <class>GtkAlignment</class> - <name>alignment3</name> - <xalign>1</xalign> - <yalign>0.5</yalign> - <xscale>1</xscale> - <yscale>1</yscale> - <child> - <left_attach>0</left_attach> - <right_attach>1</right_attach> - <top_attach>2</top_attach> - <bottom_attach>3</bottom_attach> - <xpad>0</xpad> - <ypad>0</ypad> - <xexpand>False</xexpand> - <yexpand>False</yexpand> - <xshrink>False</xshrink> - <yshrink>False</yshrink> - <xfill>True</xfill> - <yfill>True</yfill> + <yfill>False</yfill> </child> - - <widget> - <class>GtkLabel</class> - <name>label10</name> - <label>Overdue Items:</label> - <justify>GTK_JUSTIFY_RIGHT</justify> - <wrap>False</wrap> - <xalign>1</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - </widget> </widget> </widget> </widget> @@ -1049,7 +831,7 @@ Sunday <class>GtkLabel</class> <child_name>Notebook:tab</child_name> <name>label11</name> - <label>TaskPad</label> + <label>Task List</label> <justify>GTK_JUSTIFY_CENTER</justify> <wrap>False</wrap> <xalign>0.5</xalign> @@ -1144,7 +926,7 @@ Sunday <widget> <class>GtkFrame</class> <name>frame7</name> - <label>Visual Alarms</label> + <label>Notification Options</label> <label_xalign>0</label_xalign> <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> <child> @@ -1163,159 +945,6 @@ Sunday <draw_indicator>True</draw_indicator> </widget> </widget> - - <widget> - <class>GtkFrame</class> - <name>frame8</name> - <label>Audio Alarms</label> - <label_xalign>0</label_xalign> - <shadow_type>GTK_SHADOW_ETCHED_IN</shadow_type> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkVBox</class> - <name>vbox7</name> - <border_width>4</border_width> - <homogeneous>False</homogeneous> - <spacing>4</spacing> - - <widget> - <class>GtkHBox</class> - <name>hbox6</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkCheckButton</class> - <name>checkbutton9</name> - <can_focus>True</can_focus> - <label>Alarms timeout after</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>spinbutton2</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>5</value> - <lower>0</lower> - <upper>100</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label13</name> - <label>seconds.</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - </widget> - - <widget> - <class>GtkHBox</class> - <name>hbox7</name> - <homogeneous>False</homogeneous> - <spacing>0</spacing> - <child> - <padding>0</padding> - <expand>True</expand> - <fill>True</fill> - </child> - - <widget> - <class>GtkCheckButton</class> - <name>checkbutton10</name> - <can_focus>True</can_focus> - <label>Enable snoozing for</label> - <active>False</active> - <draw_indicator>True</draw_indicator> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkSpinButton</class> - <name>spinbutton3</name> - <can_focus>True</can_focus> - <climb_rate>1</climb_rate> - <digits>0</digits> - <numeric>False</numeric> - <update_policy>GTK_UPDATE_ALWAYS</update_policy> - <snap>False</snap> - <wrap>False</wrap> - <value>600</value> - <lower>0</lower> - <upper>1000</upper> - <step>1</step> - <page>10</page> - <page_size>10</page_size> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - - <widget> - <class>GtkLabel</class> - <name>label14</name> - <label>seconds.</label> - <justify>GTK_JUSTIFY_CENTER</justify> - <wrap>False</wrap> - <xalign>0.5</xalign> - <yalign>0.5</yalign> - <xpad>0</xpad> - <ypad>0</ypad> - <child> - <padding>0</padding> - <expand>False</expand> - <fill>False</fill> - </child> - </widget> - </widget> - </widget> - </widget> </widget> <widget> |