Changeset 2169


Ignore:
Timestamp:
06/05/07 18:19:47 (6 years ago)
Author:
thomas
Message:

openmoko-dialer: Add --show-missed command line option to show the history
window filtered by missed calls

Location:
trunk/src/target/OM-2007/applications/openmoko-dialer/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-main.c

    r2087 r2169  
    4949handle_sigusr1 (int value) 
    5050{ 
    51   DBG_ENTER (); 
    5251  MokoDialerData *p_data = moko_get_app_data (); 
    5352  if (!p_data) 
     
    6362  gtk_widget_show_all (mainwindow); 
    6463  gtk_window_present (GTK_WINDOW (mainwindow)); 
    65   DBG_TRACE (); 
    6664  signal (SIGUSR1, handle_sigusr1); 
    67   DBG_LEAVE (); 
    68 } 
     65} 
     66 
     67static void 
     68handle_sigusr2 (int value) 
     69{ 
     70  /* Show missed calls */ 
     71  MokoDialerData *p_data = moko_get_app_data (); 
     72  if (!p_data) 
     73    return; 
     74  GtkWidget *window = p_data->window_history; 
     75 
     76  if (!window) 
     77    return; 
     78 
     79  /* 
     80   * Filter history on missed calls 
     81   */ 
     82  window_history_filter (p_data, CALLS_MISSED); 
     83 
     84  gtk_widget_show_all (window); 
     85  gtk_window_present (GTK_WINDOW (window)); 
     86  signal (SIGUSR2, handle_sigusr2); 
     87} 
     88 
     89 
    6990 
    7091static pid_t 
     
    131152} 
    132153 
    133 static gboolean show_gui; 
     154static gboolean show_dialer; 
     155static gboolean show_missed; 
    134156 
    135157static GOptionEntry entries[] = { 
    136   {"show-gui", 's', 0, G_OPTION_ARG_NONE, &show_gui, 
    137    "Show the GUI at startup (default off)", "N"}, 
     158  {"show-dialer", 's', 0, G_OPTION_ARG_NONE, &show_dialer, 
     159   "Show the dialer at startup", "N"}, 
     160  {"show-missed", 'm', 0, G_OPTION_ARG_NONE, &show_missed, 
     161   "Show the history window filtered by the missed, none.", "N"}, 
    138162  {NULL} 
    139163}; 
     
    161185  //FIXME: the following lines to enable unique instance will be changed. 
    162186  lockapp = testlock ("/tmp/dialer.lock"); 
     187 
    163188  if (lockapp > 0) 
    164189  { 
    165     kill (lockapp, SIGUSR1); 
     190    if (show_missed) 
     191      kill (lockapp, SIGUSR2); 
     192    else 
     193      kill (lockapp, SIGUSR1); 
    166194 
    167195    /* make sure startup notifaction is terminated */ 
     
    201229  moko_journal_load_from_storage (p_dialer_data->journal); 
    202230 
     231  /* set up signal handling */ 
    203232  signal (SIGUSR1, handle_sigusr1); 
     233  signal (SIGUSR2, handle_sigusr2); 
    204234 
    205235  //init the dialer windows 
     
    210240  window_history_init (p_dialer_data); 
    211241 
    212   if (show_gui) 
     242  if (show_dialer) 
    213243  { 
    214244    handle_sigusr1 (SIGUSR1); 
    215245  } 
    216    
     246 
     247  if (show_missed) 
     248  { 
     249    handle_sigusr2 (SIGUSR2); 
     250  } 
     251  
    217252  gtk_main (); 
    218253   
  • trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.c

    r2168 r2169  
    3434#include "dialer-window-outgoing.h" 
    3535 
    36 /* call types */ 
    37 typedef enum { 
    38   ALL =0, 
    39   MISSED, 
    40   OUTGOING, 
    41   INCOMING 
    42 } CallFilter; 
    43  
    4436#define HISTORY_MAX_ENTRIES 50 
    4537 
     
    7567static int 
    7668history_view_change_filter (MokoDialerData * p_dialer_data, 
    77                             CallFilter type) 
     69                            CallHistoryFilter type) 
    7870{ 
    7971 p_dialer_data->g_history_filter_type = type; 
     
    9082  GtkWidget *label = p_dialer_data->label_filter_history; 
    9183  gtk_label_set_text (GTK_LABEL (label), "All"); 
    92   history_view_change_filter (p_dialer_data, ALL); 
     84  history_view_change_filter (p_dialer_data, CALLS_ALL); 
    9385  history_update_counter (p_dialer_data); 
    9486} 
     
    10193  GtkWidget *label = p_dialer_data->label_filter_history; 
    10294  gtk_label_set_text (GTK_LABEL (label), "Missed"); 
    103   history_view_change_filter (p_dialer_data, MISSED); 
     95  history_view_change_filter (p_dialer_data, CALLS_MISSED); 
    10496  history_update_counter (p_dialer_data); 
    10597} 
     
    112104  GtkWidget *label = p_dialer_data->label_filter_history; 
    113105  gtk_label_set_text (GTK_LABEL (label), "Dialed"); 
    114   history_view_change_filter (p_dialer_data, OUTGOING); 
     106  history_view_change_filter (p_dialer_data, CALLS_OUTGOING); 
    115107  history_update_counter (p_dialer_data); 
    116108} 
     
    123115  GtkWidget *label = p_dialer_data->label_filter_history; 
    124116  gtk_label_set_text (GTK_LABEL (label), "Received"); 
    125   history_view_change_filter (p_dialer_data, INCOMING); 
     117  history_view_change_filter (p_dialer_data, CALLS_INCOMING); 
    126118  history_update_counter (p_dialer_data); 
     119} 
     120 
     121void window_history_filter (MokoDialerData *data, CallHistoryFilter filter) 
     122{ 
     123  /* FIXME: this is ugly */ 
     124  switch (filter) 
     125  { 
     126    case CALLS_INCOMING: on_received_calls_activate (NULL, data); break; 
     127    case CALLS_OUTGOING: on_dialed_calls_activate (NULL, data); break; 
     128    case CALLS_MISSED: on_missed_calls_activate (NULL, data); break; 
     129    case CALLS_ALL: 
     130    default: 
     131         on_all_calls_activate (NULL, data); 
     132  } 
    127133} 
    128134 
     
    639645{ 
    640646  MokoDialerData *p_dialer_data = (MokoDialerData *) data; 
    641   CallFilter type; 
    642   if (p_dialer_data->g_history_filter_type == ALL) 
     647  CallHistoryFilter type; 
     648  if (p_dialer_data->g_history_filter_type == CALLS_ALL) 
    643649    return TRUE; 
    644650   
     
    666672  const MokoTime *time; 
    667673  MokoJournalVoiceInfo *info = NULL; 
    668   CallFilter type; 
     674  CallHistoryFilter type; 
    669675     
    670676  /* We're not interested in anything other than voice entrys */ 
     
    690696  { 
    691697    icon = history_out_icon; 
    692     type = OUTGOING; 
     698    type = CALLS_OUTGOING; 
    693699  } 
    694700  else 
     
    697703    { 
    698704      icon = history_missed_icon; 
    699       type = MISSED; 
     705      type = CALLS_MISSED; 
    700706    } 
    701707    else 
    702708    {  
    703709      icon = history_in_icon; 
    704       type = INCOMING;       
     710      type = CALLS_INCOMING; 
    705711    } 
    706712  } 
     
    788794   
    789795  /* We setup the default filter */ 
    790   p_dialer_data->g_history_filter_type = ALL; 
     796  p_dialer_data->g_history_filter_type = CALLS_ALL; 
    791797   
    792798  //we will use a filter to facilitate the filtering in treeview without rebuilding the database.  p_dialer_data->g_list_store_filter = 
  • trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-history.h

    r2101 r2169  
    3030}; 
    3131 
     32typedef enum { 
     33  CALLS_ALL = 0, 
     34  CALLS_MISSED, 
     35  CALLS_OUTGOING, 
     36  CALLS_INCOMING 
     37} CallHistoryFilter; 
     38 
    3239 
    3340gint window_history_init (MokoDialerData * p_dialer_data); 
    34  
     41void window_history_filter (MokoDialerData *data, CallHistoryFilter filter); 
    3542#define _OPENMOKO_DIALER_WINDOW_HISTORY_H 
    3643 
Note: See TracChangeset for help on using the changeset viewer.