|
From: <pa...@us...> - 2008-07-30 21:20:50
|
Revision: 535
http://osmo-pim.svn.sourceforge.net/osmo-pim/?rev=535&view=rev
Author: pasp
Date: 2008-07-30 21:20:56 +0000 (Wed, 30 Jul 2008)
Log Message:
-----------
* A few columns in birthdays browser can be hidden
Modified Paths:
--------------
trunk/src/contacts_birthdays.c
trunk/src/gui.h
trunk/src/options_gui.c
trunk/src/options_gui_contacts.c
trunk/src/options_prefs.c
trunk/src/options_prefs.h
Modified: trunk/src/contacts_birthdays.c
===================================================================
--- trunk/src/contacts_birthdays.c 2008-07-30 20:48:59 UTC (rev 534)
+++ trunk/src/contacts_birthdays.c 2008-07-30 21:20:56 UTC (rev 535)
@@ -55,12 +55,10 @@
gint
birthdays_key_press_cb (GtkWidget *widget, GdkEventKey *event, gpointer user_data)
{
- GUI *appGUI = (GUI *) user_data;
-
switch (event->keyval) {
case GDK_Escape:
- gtk_widget_destroy (appGUI->cnt->birthdays_window);
+ birthdays_window_close_cb (NULL, NULL, user_data);
return TRUE;
}
@@ -239,17 +237,17 @@
g_signal_emit_by_name (column, "clicked");
column = gtk_tree_view_column_new_with_attributes (_("Age"), renderer, "text", B_COLUMN_AGE, NULL);
- gtk_tree_view_column_set_visible (column, TRUE);
+ gtk_tree_view_column_set_visible (column, config.visible_age_column);
gtk_tree_view_append_column (GTK_TREE_VIEW (appGUI->cnt->birthdays_list), column);
gtk_tree_view_column_set_sort_column_id (column, B_COLUMN_AGE);
column = gtk_tree_view_column_new_with_attributes (_("Birthday date"), renderer, "text", B_COLUMN_DATE, NULL);
- gtk_tree_view_column_set_visible (column, TRUE);
+ gtk_tree_view_column_set_visible (column, config.visible_birthday_date_column);
gtk_tree_view_append_column (GTK_TREE_VIEW (appGUI->cnt->birthdays_list), column);
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes (_("Zodiac sign"), renderer, "text", B_COLUMN_ZODIAC, NULL);
- gtk_tree_view_column_set_visible (column, TRUE);
+ gtk_tree_view_column_set_visible (column, config.visible_zodiac_sign_column);
gtk_tree_view_append_column (GTK_TREE_VIEW (appGUI->cnt->birthdays_list), column);
renderer = gtk_cell_renderer_text_new ();
Modified: trunk/src/gui.h
===================================================================
--- trunk/src/gui.h 2008-07-30 20:48:59 UTC (rev 534)
+++ trunk/src/gui.h 2008-07-30 21:20:56 UTC (rev 535)
@@ -655,8 +655,9 @@
GtkWidget *contacts_photo_size_combobox;
GtkWidget *contact_tag_color_picker;
GtkWidget *contact_link_color_picker;
- GtkWidget *name_font_size_spinbutton;
- GtkWidget *tags_font_size_spinbutton;
+ GtkWidget *vc_age_checkbutton;
+ GtkWidget *vc_birthday_date_checkbutton;
+ GtkWidget *vc_zodiac_sign_checkbutton;
/* notes */
GtkWidget *notes_vbox;
Modified: trunk/src/options_gui.c
===================================================================
--- trunk/src/options_gui.c 2008-07-30 20:48:59 UTC (rev 534)
+++ trunk/src/options_gui.c 2008-07-30 21:20:56 UTC (rev 535)
@@ -391,6 +391,13 @@
config.show_after_search);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(appGUI->opt->contacts_hide_group_column_checkbutton),
config.hide_group_column);
+
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(appGUI->opt->vc_age_checkbutton),
+ config.visible_age_column);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(appGUI->opt->vc_birthday_date_checkbutton),
+ config.visible_birthday_date_column);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(appGUI->opt->vc_zodiac_sign_checkbutton),
+ config.visible_zodiac_sign_column);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(appGUI->opt->hide_calendar_checkbutton),
config.hide_calendar);
Modified: trunk/src/options_gui_contacts.c
===================================================================
--- trunk/src/options_gui_contacts.c 2008-07-30 20:48:59 UTC (rev 534)
+++ trunk/src/options_gui_contacts.c 2008-07-30 21:20:56 UTC (rev 535)
@@ -352,9 +352,25 @@
/*------------------------------------------------------------------------------*/
void
+visible_bb_columns_changed_cb (GtkComboBox *widget, gpointer user_data) {
+
+ GUI *appGUI = (GUI *)user_data;
+
+ if (!appGUI->opt->callback_active) return;
+
+ config.visible_age_column = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (appGUI->opt->vc_age_checkbutton));
+ config.visible_birthday_date_column = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (appGUI->opt->vc_birthday_date_checkbutton));
+ config.visible_zodiac_sign_column = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (appGUI->opt->vc_zodiac_sign_checkbutton));
+
+}
+
+/*------------------------------------------------------------------------------*/
+
+void
gui_create_contacts_options_page (GtkWidget *vbox, GUI *appGUI) {
GtkWidget *appearance_vbox, *sorting_vbox, *groups_vbox;
+GtkWidget *visible_columns_vbox;
GtkWidget *label;
GtkWidget *colors_hbox, *photo_hbox;
GtkWidget *frame;
@@ -736,6 +752,58 @@
gtk_combo_box_append_text (GTK_COMBO_BOX (appGUI->opt->contacts_sort_mode_combobox), tmpbuf);
gtk_combo_box_set_active (GTK_COMBO_BOX(appGUI->opt->contacts_sort_mode_combobox), config.contacts_sorting_mode);
+ frame = gtk_frame_new (NULL);
+ gtk_widget_show (frame);
+ gtk_box_pack_start (GTK_BOX (appGUI->opt->contacts_vbox), frame, FALSE, TRUE, 0);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
+ sprintf(tmpbuf, "<b>%s</b>", _("Visible columns in birthdays browser"));
+ label = gtk_label_new (tmpbuf);
+ gtk_widget_show (label);
+ gtk_frame_set_label_widget (GTK_FRAME (frame), label);
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+ gtk_misc_set_padding (GTK_MISC (label), 0, 4);
+
+ alignment = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_widget_show (alignment);
+ gtk_container_add (GTK_CONTAINER (frame), alignment);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 12, 12, 0);
+
+ visible_columns_vbox = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (visible_columns_vbox);
+ gtk_container_add (GTK_CONTAINER (alignment), visible_columns_vbox);
+
+ table = gtk_table_new (1, 3, FALSE);
+ gtk_widget_show (table);
+ gtk_box_pack_start (GTK_BOX (visible_columns_vbox), table, FALSE, FALSE, 0);
+ gtk_table_set_row_spacings (GTK_TABLE (table), 4);
+ gtk_table_set_col_spacings (GTK_TABLE (table), 8);
+
+ appGUI->opt->vc_age_checkbutton = gtk_check_button_new_with_mnemonic (_("Age"));
+ GTK_WIDGET_UNSET_FLAGS(appGUI->opt->vc_age_checkbutton, GTK_CAN_FOCUS);
+ gtk_widget_show (appGUI->opt->vc_age_checkbutton);
+ g_signal_connect (G_OBJECT (appGUI->opt->vc_age_checkbutton), "toggled",
+ G_CALLBACK (visible_bb_columns_changed_cb), appGUI);
+ gtk_table_attach (GTK_TABLE (table), appGUI->opt->vc_age_checkbutton, 0, 1, 0, 1,
+ (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+ (GtkAttachOptions) (0), 0, 0);
+
+ appGUI->opt->vc_birthday_date_checkbutton = gtk_check_button_new_with_mnemonic (_("Birthday date"));
+ GTK_WIDGET_UNSET_FLAGS(appGUI->opt->vc_birthday_date_checkbutton, GTK_CAN_FOCUS);
+ gtk_widget_show (appGUI->opt->vc_birthday_date_checkbutton);
+ g_signal_connect (G_OBJECT (appGUI->opt->vc_birthday_date_checkbutton), "toggled",
+ G_CALLBACK (visible_bb_columns_changed_cb), appGUI);
+ gtk_table_attach (GTK_TABLE (table), appGUI->opt->vc_birthday_date_checkbutton, 1, 2, 0, 1,
+ (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+ (GtkAttachOptions) (0), 0, 0);
+
+ appGUI->opt->vc_zodiac_sign_checkbutton = gtk_check_button_new_with_mnemonic (_("Zodiac sign"));
+ GTK_WIDGET_UNSET_FLAGS(appGUI->opt->vc_zodiac_sign_checkbutton, GTK_CAN_FOCUS);
+ gtk_widget_show (appGUI->opt->vc_zodiac_sign_checkbutton);
+ g_signal_connect (G_OBJECT (appGUI->opt->vc_zodiac_sign_checkbutton), "toggled",
+ G_CALLBACK (visible_bb_columns_changed_cb), appGUI);
+ gtk_table_attach (GTK_TABLE (table), appGUI->opt->vc_zodiac_sign_checkbutton, 2, 3, 0, 1,
+ (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+ (GtkAttachOptions) (0), 0, 0);
}
/*------------------------------------------------------------------------------*/
Modified: trunk/src/options_prefs.c
===================================================================
--- trunk/src/options_prefs.c 2008-07-30 20:48:59 UTC (rev 534)
+++ trunk/src/options_prefs.c 2008-07-30 21:20:56 UTC (rev 535)
@@ -170,6 +170,9 @@
config.contacts_pane_pos = 275;
config.contacts_rules_hint = TRUE;
config.photo_width = 80;
+ config.visible_age_column = TRUE;
+ config.visible_birthday_date_column = TRUE;
+ config.visible_zodiac_sign_column = TRUE;
config.contacts_sorting_order = GTK_SORT_ASCENDING;
config.contacts_sorting_mode = 0;
config.contacts_addedit_win_w = 500;
@@ -956,6 +959,27 @@
xmlFree(key);
}
+ if ((!xmlStrcmp(contacts_node->name, (const xmlChar *) "visible_age_column"))) {
+ key = xmlNodeListGetString(doc, contacts_node->xmlChildrenNode, 1);
+ if (key != NULL)
+ sscanf((gchar *) key, "%d", &config.visible_age_column);
+ xmlFree(key);
+ }
+
+ if ((!xmlStrcmp(contacts_node->name, (const xmlChar *) "visible_birthday_date_column"))) {
+ key = xmlNodeListGetString(doc, contacts_node->xmlChildrenNode, 1);
+ if (key != NULL)
+ sscanf((gchar *) key, "%d", &config.visible_birthday_date_column);
+ xmlFree(key);
+ }
+
+ if ((!xmlStrcmp(contacts_node->name, (const xmlChar *) "visible_zodiac_sign_column"))) {
+ key = xmlNodeListGetString(doc, contacts_node->xmlChildrenNode, 1);
+ if (key != NULL)
+ sscanf((gchar *) key, "%d", &config.visible_zodiac_sign_column);
+ xmlFree(key);
+ }
+
if ((!xmlStrcmp(contacts_node->name, (const xmlChar *)"contact_tag_color"))) {
key = xmlNodeListGetString(doc, contacts_node->xmlChildrenNode, 1);
if (key != NULL)
@@ -1480,6 +1504,12 @@
xmlNewTextChild(contacts_node, NULL, (const xmlChar *) "rules_hint", (xmlChar *) tmpbuf);
snprintf(tmpbuf, 32, "%d", config.photo_width);
xmlNewTextChild(contacts_node, NULL, (const xmlChar *) "photo_width", (xmlChar *) tmpbuf);
+ snprintf(tmpbuf, 32, "%d", config.visible_age_column);
+ xmlNewTextChild(contacts_node, NULL, (const xmlChar *) "visible_age_column", (xmlChar *) tmpbuf);
+ snprintf(tmpbuf, 32, "%d", config.visible_birthday_date_column);
+ xmlNewTextChild(contacts_node, NULL, (const xmlChar *) "visible_birthday_date_column", (xmlChar *) tmpbuf);
+ snprintf(tmpbuf, 32, "%d", config.visible_zodiac_sign_column);
+ xmlNewTextChild(contacts_node, NULL, (const xmlChar *) "visible_zodiac_sign_column", (xmlChar *) tmpbuf);
snprintf(tmpbuf, MAXCOLORNAME, "%s", config.contact_tag_color);
xmlNewTextChild(contacts_node, NULL, (const xmlChar *) "contact_tag_color", (xmlChar *) tmpbuf);
snprintf(tmpbuf, MAXCOLORNAME, "%s", config.contact_link_color);
Modified: trunk/src/options_prefs.h
===================================================================
--- trunk/src/options_prefs.h 2008-07-30 20:48:59 UTC (rev 534)
+++ trunk/src/options_prefs.h 2008-07-30 21:20:56 UTC (rev 535)
@@ -136,6 +136,9 @@
gint contacts_pane_pos;
gint contacts_rules_hint;
gint photo_width;
+ gint visible_age_column;
+ gint visible_birthday_date_column;
+ gint visible_zodiac_sign_column;
gint contacts_sorting_order;
gint contacts_sorting_mode;
gint contacts_addedit_win_x;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|