亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? abooklistview.c

?? linux手機下的電話本源碼(是contact的上層)
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*  addressbook - Address book *abooklistview.c -  * *Authors: YE Nan <nan.ye@orange-ftgroup.com> *        ZHAO Liangjing <liangjing.zhao@orange-ftgroup.com>  * *This software and associated documentation files (the "Software")  *are copyright (C) 2005 LiPS Linux Phone Standards Forum [FranceTelecom]  *All Rights Reserved.  * *A copyright license is hereby granted for redistribution and use of  *the Software in source and binary forms, with or without modification,  *provided that the following conditions are met:  *- Redistributions of source code must retain the above copyright notice,  *this copyright license and the following disclaimer.  *- Redistributions in binary form must reproduce the above copyright  *notice, this copyright license and the following disclaimer in the  *documentation and/or other materials provided with the distribution.  *- Neither the name of LiPS  nor the names of its Members may be used  *to endorse or promote products derived from the Software without  *specific prior written permission.  * *A patent license for any Necessary Claims owned by Members of LiPS Forum  *to make, have made, use, import, offer to sell, lease and sell or otherwise  *distribute any implementation compliant with the any specification adopted  *by the LiPS Forumcan be obtained from the respective Members on reasonable  *and non-discriminatory terms and conditions and under reciprocity, as  *regulated in more detail in the Internal Policy of the LiPS Forum.  * *THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER, ITS MEMBERS AND CONTRIBUTORS  *"AS IS", AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,  *THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE  *AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER,  *ITS MEMBERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  *SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,  *PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;  *OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  *WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)  *ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  *POSSIBILITY OF SUCH DAMAGE.  */#include <libintl.h>#include <ctype.h>#include <string.h>#include <gtk/gtk.h>#include <gdk/gdkkeysyms.h>#include "abooklistview.h"#include "abookenv.h"#define _(x) gettext(x)static void abook_listview_class_init (ABookListViewClass *klass);static void abook_listview_init (ABookListView *window);GTypeabook_listview_get_type (void){  static GType listview_type = 0;  if (!listview_type)  {    static const GTypeInfo listview_info = {      sizeof (ABookListViewClass),      NULL,                     /* base_init */      NULL,                     /* base_finalize */      (GClassInitFunc) abook_listview_class_init,      NULL,                     /* class_finalize */      NULL,                     /* class_data */      sizeof (ABookListView),      0,                        /* n_preallocs */      (GInstanceInitFunc) abook_listview_init,    };    listview_type =      g_type_register_static (GTK_TYPE_FRAME, "ABookListView", &listview_info,                              0);  }  return listview_type;}static voidabook_listview_class_init (ABookListViewClass *klass){  return;}static voidabook_listview_row_activated (GtkTreeView *treeview, GtkTreePath *path,                              GtkTreeViewColumn *col, gpointer user_data){  ABookListView *view = (ABookListView *) user_data;  GtkTreeModel *model = NULL;  GtkTreeIter iter;  model = gtk_tree_view_get_model (treeview);  if (gtk_tree_model_get_iter (model, &iter, path))  {    gchar *uid = NULL;    ABookListViewStorageType type;    char strType[20] = "";    gtk_tree_model_get (model, &iter, COL_UID, &uid, COL_STORAGE, &type, -1);    g_print ("%s(): uid  = %s\n", __FUNCTION__, uid);    switch (type)    {      case STORAGE_LOCAL:        strcpy (strType, "local");        break;      case STORAGE_SIM:        strcpy (strType, "sim");        break;      case STORAGE_NET:        strcpy (strType, "net");        break;      default:        break;    }    g_print ("%s(): type = %s\n", __FUNCTION__, strType);    if (view->row_activated_cb)    {      view->row_activated_cb (view, uid, type);    }    g_free (uid);  }  return;}static gbooleanabook_listview_entry_key_press_event_cb (GtkWidget *widget,                                         GdkEventKey *event,                                         gpointer user_data){  ABookListView *view = (ABookListView *) user_data;  g_print ("%s(): entring\n", __FUNCTION__);  if (event->keyval == GDK_Return)  {    GtkTreeView *tree = NULL;    GtkTreeModel *model = NULL;    tree = (GtkTreeView *) view->treeview;    model = (GtkTreeModel *) view->liststore;    if (tree && model)    {      GtkTreePath *path = NULL;      GtkTreeIter iter;      gtk_tree_view_get_cursor (GTK_TREE_VIEW (tree), &path, NULL);      if (path && gtk_tree_model_get_iter (model, &iter, path))      {        gchar *uid = NULL;        ABookListViewStorageType type;        gtk_tree_model_get (model,                            &iter, COL_UID, &uid, COL_STORAGE, &type, -1);        g_print ("%s(): uid  = %s\n", __FUNCTION__, uid);        g_print ("%s(): type = %s\n",                 __FUNCTION__, (type == STORAGE_LOCAL) ? "local" : "sim");        if (view->row_activated_cb)        {          view->row_activated_cb (view, uid, type);        }        g_free (uid);      }    }    return TRUE;  }  else if (event->keyval == GDK_Right)  {    return FALSE;  }  else if (event->keyval == GDK_Left)  {    return FALSE;  }  return FALSE;}static voidabook_listview_entry_changed_cb (GtkEditable *editable, gpointer user_data){  ABookListView *view = (ABookListView *) user_data;  if (TRUE)  {    GtkTreeView *tree = NULL;    GtkTreeModel *model = NULL;    tree = (GtkTreeView *) view->treeview;    model = (GtkTreeModel *) view->liststore;    if (tree && model)    {      GtkTreeIter iter;      gchar *string = NULL;      string = g_utf8_strup (gtk_entry_get_text (GTK_ENTRY (editable)), -1);      g_strstrip (string);      if (gtk_tree_model_iter_n_children (model, NULL) > 0 &&          gtk_tree_model_get_iter_first (model, &iter))      {        do        {          gchar *name = NULL;          gchar *caseless = NULL;          gtk_tree_model_get (model, &iter, COL_NAME, &name, -1);/* 					g_print("%s(): entry = %s, name = %s\n",									__FUNCTION__,									string,									name);*/          caseless = g_utf8_strup (name, -1);          if (g_strstr_len (caseless, strlen (caseless), string) != NULL)          {            GtkTreePath *path = NULL;            path = gtk_tree_model_get_path (model, &iter);            if (path)            {              gtk_tree_view_set_cursor (tree, path, NULL, FALSE);            }            gtk_tree_path_free (path);            break;          }          g_free (caseless);          g_free (name);        } while (gtk_tree_model_iter_next (model, &iter));      }      g_free (string);    }  }  return;}static gbooleanabook_listview_treeview_key_press_event_cb (GtkWidget *widget,                                            GdkEventKey *event,                                            ABookListView *view){//      ABookListView *view = (ABookListView *)widget;//      g_print("%s():\n", __FUNCTION__);  if (event->keyval == GDK_Up)  {    GtkTreeView *tree = NULL;    GtkTreeModel *model = NULL;    tree = (GtkTreeView *) view->treeview;    model = (GtkTreeModel *) view->liststore;    if (tree && model)    {      GtkTreePath *path = NULL;      gtk_tree_view_get_cursor (GTK_TREE_VIEW (tree), &path, NULL);//                      g_print("%s(): Up curr = %s\n", __FUNCTION__, gtk_tree_path_to_string(path));      if (path)      {        GtkTreePath *p;        gint count;        count = gtk_tree_model_iter_n_children (model, NULL);        p = gtk_tree_path_copy (path);        gtk_tree_path_prev (path);//                              g_print("%s(): Up prev = %s\n", __FUNCTION__, gtk_tree_path_to_string(path));        if (!gtk_tree_path_compare (path, p))        {          path = gtk_tree_path_new_from_indices (count - 1, -1);        }        gtk_tree_path_free (p);        gtk_tree_view_set_cursor (GTK_TREE_VIEW (tree), path, NULL, FALSE);        gtk_tree_path_free (path);      }      return TRUE;    }  }  else if (event->keyval == GDK_Down)  {    GtkTreeView *tree = NULL;    GtkTreeModel *model = NULL;    tree = (GtkTreeView *) view->treeview;    model = (GtkTreeModel *) view->liststore;    if (tree && model)    {      GtkTreePath *path = NULL;      gtk_tree_view_get_cursor (GTK_TREE_VIEW (tree), &path, NULL);//                      g_print("%s(): Down curr = %s\n", __FUNCTION__, gtk_tree_path_to_string(path));      if (path)      {        GtkTreePath *p;        gint count;        count = gtk_tree_model_iter_n_children (model, NULL);        p = gtk_tree_path_new_from_indices (count, -1);        gtk_tree_path_next (path);//                              g_print("%s(): Down next = %s\n", __FUNCTION__, gtk_tree_path_to_string(path));

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
裸体在线国模精品偷拍| 99精品热视频| 色婷婷香蕉在线一区二区| 欧美一区二区福利在线| 亚洲男人的天堂在线观看| 精品一区二区三区免费视频| 日本韩国精品一区二区在线观看| 久久免费的精品国产v∧| 香蕉加勒比综合久久| 99久久精品国产导航| 精品美女在线观看| 日韩高清一区在线| 在线中文字幕一区二区| 亚洲天堂中文字幕| 成人在线综合网| 久久综合色鬼综合色| 麻豆一区二区99久久久久| 欧美性大战久久| 依依成人综合视频| 色偷偷成人一区二区三区91 | 日韩电影免费一区| 欧美精品在线一区二区三区| 欧美国产精品一区| 国内外精品视频| 欧美成人一区二区三区在线观看| 性做久久久久久免费观看| 欧美在线视频日韩| 一区二区三区国产精华| 94-欧美-setu| 亚洲欧美日韩中文字幕一区二区三区| 成人国产亚洲欧美成人综合网| 久久精品一区二区三区不卡牛牛| 久久69国产一区二区蜜臀| 日韩欧美国产精品| 六月婷婷色综合| 精品av久久707| 国产麻豆精品一区二区| 国产丝袜美腿一区二区三区| 国产高清久久久| 国产精品久久久久影视| 成人av在线资源| 一区二区三区四区蜜桃| 欧美手机在线视频| 日韩和欧美一区二区三区| 欧美肥大bbwbbw高潮| 免费观看在线色综合| 日韩精品一区二区三区视频在线观看| 美女mm1313爽爽久久久蜜臀| 久久亚洲精华国产精华液 | eeuss鲁片一区二区三区在线观看| 国产精品天天看| 色噜噜偷拍精品综合在线| 亚洲一区在线视频观看| 91精品国产综合久久久久久漫画 | 国产在线视视频有精品| 欧美精品1区2区3区| 欧美激情中文不卡| 九九精品一区二区| 69久久夜色精品国产69蝌蚪网 | 日本韩国欧美在线| 国产亚洲欧美日韩在线一区| 日本成人在线电影网| 欧美在线不卡视频| 日韩欧美另类在线| 久久综合综合久久综合| 亚洲色大成网站www久久九九| 欧美精品自拍偷拍动漫精品| 国产sm精品调教视频网站| 亚洲自拍与偷拍| 久久免费午夜影院| 欧美日韩在线一区二区| 免费成人结看片| 亚洲少妇30p| 久久午夜色播影院免费高清| 91搞黄在线观看| 国产成人啪午夜精品网站男同| 亚洲国产成人精品视频| 国产亚洲精品精华液| 欧美猛男gaygay网站| 成人h动漫精品| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲精品第一国产综合野| 久久久久久久久一| 在线电影院国产精品| 99精品视频一区| 国产毛片精品一区| 日韩国产欧美一区二区三区| 亚洲精品国产一区二区精华液| 久久美女高清视频| 欧美一区二区三区免费在线看| 色综合中文字幕国产 | 午夜精品福利一区二区三区av| 久久精品一区蜜桃臀影院| 欧美一区在线视频| 日本精品裸体写真集在线观看| 国产成人在线色| 精品在线你懂的| 日韩va欧美va亚洲va久久| 亚洲美女屁股眼交3| 国产精品人人做人人爽人人添 | 国产一区二区三区四区五区美女 | 国产一区二区在线观看视频| 丝袜亚洲另类丝袜在线| 亚洲精品高清在线| 亚洲欧美日韩电影| 国产精品人妖ts系列视频| 久久蜜桃一区二区| 久久久国产精品不卡| 欧美大肚乱孕交hd孕妇| 日韩午夜在线观看| 欧美一级视频精品观看| 91精品一区二区三区久久久久久 | 国产白丝精品91爽爽久久 | 日韩一区二区不卡| 成人午夜碰碰视频| 日韩极品在线观看| 亚洲色图20p| 国产偷v国产偷v亚洲高清| 色婷婷久久久综合中文字幕| 国产中文一区二区三区| 日韩精品一区二区三区在线| 日本韩国欧美一区二区三区| 欧美性受xxxx黑人xyx性爽| 精品视频一区二区三区免费| 337p亚洲精品色噜噜噜| 欧美videofree性高清杂交| 精品国产污网站| 国产欧美精品一区aⅴ影院| 国产欧美精品一区二区色综合 | eeuss影院一区二区三区| caoporen国产精品视频| 色欧美片视频在线观看在线视频| 欧美午夜片在线看| 日韩色视频在线观看| 久久亚洲一级片| 日韩美女啊v在线免费观看| 亚洲综合色成人| 裸体歌舞表演一区二区| 国产69精品一区二区亚洲孕妇 | 成人黄色综合网站| 欧美在线观看视频一区二区| 91精品国产色综合久久不卡蜜臀 | 亚洲精品视频一区| 日欧美一区二区| 国产福利一区在线观看| 91行情网站电视在线观看高清版| 欧美绝品在线观看成人午夜影视| 久久先锋影音av鲁色资源| 亚洲日本va午夜在线电影| 天堂蜜桃91精品| 成人美女视频在线观看18| 欧美日韩视频专区在线播放| 亚洲视频网在线直播| 日韩电影在线一区二区| 国产成人av一区| 欧美日韩一级二级| 欧美国产精品中文字幕| 日韩电影网1区2区| 91性感美女视频| 欧美精品一区视频| 亚洲午夜电影网| 国产成人精品www牛牛影视| 在线电影院国产精品| 中文字幕亚洲欧美在线不卡| 蜜臀久久99精品久久久久宅男| www.色综合.com| 欧美xxxxx裸体时装秀| 亚洲午夜国产一区99re久久| 成人精品视频一区| 亚洲精品一区二区在线观看| 亚洲伊人色欲综合网| 成人性色生活片| 精品国产乱码久久久久久夜甘婷婷| 伊人色综合久久天天人手人婷| 国产一区二区三区免费看| 欧美久久久影院| 亚洲一区二区三区中文字幕 | 欧美性色黄大片手机版| 国产精品福利一区| 国产又黄又大久久| 日韩三级电影网址| 三级久久三级久久| 免费在线观看日韩欧美| 亚洲香肠在线观看| 黑人巨大精品欧美黑白配亚洲| 99国产精品久久久久久久久久| 欧美久久一二三四区| 久久久精品影视| 亚洲成av人片观看| 成人免费看的视频| 欧美一区二区三区四区久久| 国产精品三级电影| 中日韩免费视频中文字幕| 粉嫩aⅴ一区二区三区四区五区| 精品粉嫩超白一线天av| 黄色精品一二区| 国产日韩欧美综合一区| 国产精品综合网| 国产精品视频在线看| 99久久免费视频.com|