📄 abookcontactview.c
字号:
GtkWidget *grpbox = NULL; GtkWidget *sep = NULL; grpbox = gtk_hbox_new (FALSE, 0); gtk_widget_set_size_request (grpbox, -1, 70); if (TRUE) { GtkWidget *subbox = NULL; gtk_widget_set_size_request (view->labels[CNT_VIEW_NAME], -1, 40); gtk_misc_set_alignment (GTK_MISC (view->labels[CNT_VIEW_NAME]), 0, 0); gtk_entry_set_alignment (GTK_ENTRY (view->entries[CNT_VIEW_NAME]), 1.0); subbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (subbox), view->labels[CNT_VIEW_NAME], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (subbox), view->entries[CNT_VIEW_NAME], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (grpbox), subbox, FALSE, FALSE, 10); } gtk_box_pack_end (GTK_BOX (grpbox), view->image, FALSE, FALSE, 10); gtk_box_pack_start (GTK_BOX (vbox), grpbox, FALSE, FALSE, 10); sep = gtk_hseparator_new (); gtk_box_pack_start (GTK_BOX (vbox), sep, 0, TRUE, 0); } for (i = CNT_VIEW_MOBILENUM; i < NUM_CNT_VIEW_ITEMS; i++) { GtkWidget *grpbox = NULL; grpbox = gtk_vbox_new (FALSE, 5); gtk_widget_set_size_request (grpbox, -1, 60); gtk_misc_set_alignment (GTK_MISC (view->labels[i]), 0, 0); gtk_box_pack_start (GTK_BOX (grpbox), view->labels[i], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (grpbox), view->entries[i], FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), grpbox, FALSE, FALSE, 5); } if (TRUE) { GtkWidget *grpbox = NULL; GtkWidget *hbox = NULL; grpbox = gtk_vbox_new (FALSE, 5); gtk_widget_set_size_request (grpbox, -1, 60); hbox = gtk_hbox_new (FALSE, 0); view->cat_label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (view->cat_label), "<span color=\"Blue\">Categories</span>"); gtk_misc_set_alignment (GTK_MISC (view->cat_label), 0, 0); view->cat_entry = gtk_entry_new (); gtk_widget_set_size_request (view->cat_entry, 180, -1); gtk_entry_set_has_frame (GTK_ENTRY (view->cat_entry), FALSE); g_signal_connect (G_OBJECT (view->cat_entry), "focus-in-event", G_CALLBACK (entry_focus_in_cb), (gpointer) view); g_signal_connect (G_OBJECT (view->cat_entry), "focus-out-event", G_CALLBACK (entry_focus_out_cb), (gpointer) view); g_signal_connect (G_OBJECT (view->cat_entry), "key-press-event", G_CALLBACK (abook_contact_view_category_entry_key_press_cb), (gpointer) view); view->cat_image = gtk_image_new (); gtk_widget_set_size_request (view->cat_image, SIZE_NORMAL_W, SIZE_NORMAL_H); if (TRUE) { GdkPixbuf *pixbuf = NULL; gchar *picpath = NULL; picpath = g_build_filename (abook_env_get_picpath (), "categories.png", NULL); abook_pictures_load (picpath, PIC_NORMAL); pixbuf = abook_pictures_find (picpath, PIC_NORMAL); gtk_image_set_from_pixbuf (GTK_IMAGE (view->cat_image), pixbuf); g_free (picpath); } gtk_box_pack_start (GTK_BOX (hbox), view->cat_entry, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), view->cat_image, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (grpbox), view->cat_label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (grpbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), grpbox, FALSE, FALSE, 5); } gtk_auto_scrolled_window_add_with_viewport (GTK_AUTO_SCROLLED_WINDOW (view), vbox); if (TRUE) { GtkWidget *viewport = NULL; GdkColor white_bg = { 0, 0xFFFF, 0xFFFF, 0xFFFF }; viewport = gtk_auto_scrolled_window_get_viewport (GTK_AUTO_SCROLLED_WINDOW (view)); if (viewport) { gtk_widget_modify_bg (GTK_WIDGET (viewport), GTK_STATE_NORMAL, &white_bg); } } g_signal_connect (G_OBJECT (view), "show", G_CALLBACK (abook_contact_view_show_cb), NULL); g_signal_connect (G_OBJECT (view), "hide", G_CALLBACK (abook_contact_view_hide_cb), NULL); view->uuid = NULL; view->editable = TRUE; view->status = FALSE; view->cat_modifier = NULL;// view->cat_uids = g_ptr_array_new(); view->focused_item = CNT_VIEW_NAME; return;}GtkWidget *abook_contact_view_new (void){ return gtk_widget_new (ABOOK_TYPE_CONTACT_VIEW, NULL);}G_CONST_RETURN gchar *abook_contact_view_get_item_value (const ABookContactView *view, ABookContactViewItems item){ GtkWidget *entry = view->entries[item]; return gtk_entry_get_text (GTK_ENTRY (entry));}voidabook_contact_view_set_item_value (ABookContactView *view, ABookContactViewItems item, const gchar *value){ GtkWidget *entry = view->entries[item]; if (value == NULL) { return; } gtk_entry_set_text (GTK_ENTRY (entry), value); if (item == CNT_VIEW_PICTURE) { GdkPixbuf *pixbuf = NULL; gchar *picpath = NULL; picpath = g_build_filename (abook_env_get_picpath (), value, NULL);// g_print("%s(): path = %s\n", __FUNCTION__, picpath); abook_pictures_load (picpath, PIC_LARGE); pixbuf = abook_pictures_find (picpath, PIC_LARGE); gtk_image_set_from_pixbuf (GTK_IMAGE (view->image), pixbuf);// g_object_unref(pixbuf); g_free (picpath); } return;}voidabook_contact_view_set_uid (ABookContactView *view, const gchar *uidstr){ if (view->uuid) { g_free (view->uuid); view->uuid = NULL; } if (uidstr) { view->uuid = g_strdup (uidstr); } return;}G_CONST_RETURN gchar *abook_contact_view_get_uid (ABookContactView *view){ return view->uuid;}voidabook_contact_view_set_editable (ABookContactView *view, gboolean editable){ gint i; if (view->editable == editable) { return; } view->editable = editable; if (editable) { for (i = 0; i < NUM_CNT_VIEW_ITEMS; i++) { GTK_WIDGET_UNSET_FLAGS (view->labels[i], GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS (view->entries[i], GTK_CAN_FOCUS); gtk_editable_set_editable (GTK_EDITABLE (view->entries[i]), editable); } if (TRUE) { GTK_WIDGET_UNSET_FLAGS (view->cat_label, GTK_CAN_FOCUS); GTK_WIDGET_SET_FLAGS (view->cat_entry, GTK_CAN_FOCUS); gtk_editable_set_editable (GTK_EDITABLE (view->cat_entry), editable); } } else { for (i = 0; i < NUM_CNT_VIEW_ITEMS; i++) { GTK_WIDGET_SET_FLAGS (view->labels[i], GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (view->entries[i], GTK_CAN_FOCUS); gtk_editable_set_editable (GTK_EDITABLE (view->entries[i]), editable); } if (TRUE) { GTK_WIDGET_SET_FLAGS (view->cat_label, GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS (view->cat_entry, GTK_CAN_FOCUS); gtk_editable_set_editable (GTK_EDITABLE (view->cat_entry), editable); } } return;}gbooleanabook_contact_view_get_editable (ABookContactView *view){ return view->editable;}voidabook_contact_view_set_category_modifier (ABookContactView *view, ABookContactViewCatModifier modifier){ view->cat_modifier = modifier; return;}voidabook_contact_view_set_categories (ABookContactView *view, const gchar *categories_str){ if (categories_str == NULL) { gtk_entry_set_text (GTK_ENTRY (view->cat_entry), ""); } else { gtk_entry_set_text (GTK_ENTRY (view->cat_entry), categories_str); } return;}G_CONST_RETURN gchar *abook_contact_view_get_categories (ABookContactView *view){ return gtk_entry_get_text (GTK_ENTRY (view->cat_entry));}voidabook_contact_view_set_focus_item (ABookContactView *view, ABookContactViewItems item){ view->focused_item = item; return;}/* vi:ts=2:nowrap:ai:expandtab*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -