/[xlog]/xlog/src/gui_searchdialog.c
ViewVC logotype

Diff of /xlog/src/gui_searchdialog.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by pa4tu, Sat May 15 10:49:13 2004 UTC revision 1.4 by pa4tu, Mon Sep 20 19:38:42 2004 UTC
# Line 44  static void Line 44  static void
44  on_searchokbutton_clicked (GtkButton * button, gpointer user_data)  on_searchokbutton_clicked (GtkButton * button, gpointer user_data)
45  {  {
46          GtkWidget *dialog_vbox, *dialog_action_area, *searchresultokbutton,          GtkWidget *dialog_vbox, *dialog_action_area, *searchresultokbutton,
47                  *searchdialog, *searchresultdialog, *searchcomboentry, *resultlabel,                  *searchdialog, *searchresultdialog, *resultlabel,
48                  *searchcheckbutton, *searchcombo;                  *searchcheckbutton, *searchcombo;
49          GdkPixbuf *searchresultdialog_icon_pixbuf;          GdkPixbuf *searchresultdialog_icon_pixbuf;
50          gchar *searchstr, *upsearchstr, *callsign, *current, *nr, *labeltext;          gchar *searchstr, *upsearchstr, *callsign, *current, *nr, *labeltext, *s;
51          gint i;          gint i, num;
52          gboolean valid, result = FALSE, searchopen;          gboolean valid, result = FALSE, searchopen;
53          GList *node;          GList *node;
54          logtype *logwindow;          logtype *logwindow;
# Line 59  on_searchokbutton_clicked (GtkButton * b Line 59  on_searchokbutton_clicked (GtkButton * b
59    
60          searchdialog = gtk_widget_get_toplevel (GTK_WIDGET (button));          searchdialog = gtk_widget_get_toplevel (GTK_WIDGET (button));
61          searchcombo = lookup_widget (searchdialog, "searchcombo");          searchcombo = lookup_widget (searchdialog, "searchcombo");
         searchcomboentry = lookup_widget (searchdialog, "searchcomboentry");  
62          searchcheckbutton = lookup_widget (searchdialog, "searchcheckbutton");          searchcheckbutton = lookup_widget (searchdialog, "searchcheckbutton");
63    
64          searchopen = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(searchcheckbutton));          searchopen = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(searchcheckbutton));
65          searchstr =     gtk_editable_get_chars (GTK_EDITABLE (searchcomboentry), 0,     -1);          searchstr =     gtk_editable_get_chars
66                    (GTK_EDITABLE (GTK_BIN(searchcombo)->child), 0, -1);
67    
68          node = g_list_find_custom (searchhistory, searchstr, (GCompareFunc) strcmp);          node = g_list_find_custom (searchhistory, searchstr, (GCompareFunc) strcmp);
69          if (!node)          if (!node)
# Line 156  on_searchokbutton_clicked (GtkButton * b Line 156  on_searchokbutton_clicked (GtkButton * b
156          else          else
157          {          {
158                  if (searchhistory)                  if (searchhistory)
159                          gtk_combo_set_popdown_strings (GTK_COMBO(searchcombo), searchhistory);                  {
160                  gtk_entry_set_text (GTK_ENTRY (searchcomboentry), searchstr);                          num = g_list_length (searchhistory);
161                            for (i = 0; i < num; i++)
162                            {
163                                    s = g_list_nth_data (searchhistory, i);
164                                    gtk_combo_box_append_text (GTK_COMBO_BOX (searchcombo), s);
165                            }
166                    }
167                    gtk_entry_set_text (GTK_ENTRY (GTK_BIN(searchcombo)->child), searchstr);
168          }          }
169          g_free (searchstr);          g_free (searchstr);
170          g_free (upsearchstr);          g_free (upsearchstr);
# Line 175  on_searchcancelbutton_clicked (GtkButton Line 182  on_searchcancelbutton_clicked (GtkButton
182    
183  /* search changed, reset saved state */  /* search changed, reset saved state */
184  static void  static void
185  on_searchcomboentry_changed (GtkEditable * editable, gpointer user_data)  on_searchcombo_changed (GtkEditable * editable, gpointer user_data)
186  {  {
187          state.searchstr = g_strdup ("");          state.searchstr = g_strdup ("");
188  }  }
# Line 206  void Line 213  void
213  on_menu_search_activate (GtkMenuItem * menuitem, gpointer user_data)  on_menu_search_activate (GtkMenuItem * menuitem, gpointer user_data)
214  {  {
215          GtkWidget *searchdialog, *dialog_vbox, *vbox, *searchlabel, *searchcombo,          GtkWidget *searchdialog, *dialog_vbox, *vbox, *searchlabel, *searchcombo,
216                  *searchcomboentry, *searchcheckbutton, *dialog_action_area,                  *searchcheckbutton, *dialog_action_area, *searchcancelbutton,
217                  *searchcancelbutton, *searchokbutton;                  *searchokbutton;
218          GdkPixbuf *searchdialog_icon_pixbuf;          GdkPixbuf *searchdialog_icon_pixbuf;
219            gint i, num;
220            gchar *s;
221    
222          searchdialog = gtk_dialog_new ();          searchdialog = gtk_dialog_new ();
223          gtk_window_set_title (GTK_WINDOW (searchdialog), _("xlog - search"));          gtk_window_set_title (GTK_WINDOW (searchdialog), _("xlog - search"));
# Line 234  on_menu_search_activate (GtkMenuItem * m Line 243  on_menu_search_activate (GtkMenuItem * m
243          gtk_label_set_justify (GTK_LABEL (searchlabel), GTK_JUSTIFY_CENTER);          gtk_label_set_justify (GTK_LABEL (searchlabel), GTK_JUSTIFY_CENTER);
244          gtk_label_set_line_wrap (GTK_LABEL (searchlabel), TRUE);          gtk_label_set_line_wrap (GTK_LABEL (searchlabel), TRUE);
245    
246          searchcombo = gtk_combo_new ();          searchcombo = gtk_combo_box_new_text ();
         g_object_set_data (G_OBJECT (GTK_COMBO (searchcombo)->popwin),  
                                                                                  "GladeParentKey", searchcombo);  
247          gtk_widget_show (searchcombo);          gtk_widget_show (searchcombo);
248          gtk_box_pack_start (GTK_BOX (vbox), searchcombo, FALSE, FALSE, 0);          gtk_box_pack_start (GTK_BOX (vbox), searchcombo, FALSE, FALSE, 0);
249    
         searchcomboentry = GTK_COMBO (searchcombo)->entry;  
         gtk_widget_show (searchcomboentry);  
         gtk_entry_set_max_length (GTK_ENTRY (searchcomboentry), 15);  
   
250          searchcheckbutton = gtk_check_button_new_with_mnemonic (_("Keep this dialog open"));          searchcheckbutton = gtk_check_button_new_with_mnemonic (_("Keep this dialog open"));
251          gtk_widget_show (searchcheckbutton);          gtk_widget_show (searchcheckbutton);
252          gtk_box_pack_start (GTK_BOX (vbox), searchcheckbutton, FALSE, FALSE, 0);          gtk_box_pack_start (GTK_BOX (vbox), searchcheckbutton, FALSE, FALSE, 0);
# Line 265  on_menu_search_activate (GtkMenuItem * m Line 268  on_menu_search_activate (GtkMenuItem * m
268          g_signal_connect ((gpointer) searchdialog, "delete_event",          g_signal_connect ((gpointer) searchdialog, "delete_event",
269                                                                                  G_CALLBACK (on_searchdialog_delete_event),                                                                                  G_CALLBACK (on_searchdialog_delete_event),
270                                                                                  NULL);                                                                                  NULL);
271          g_signal_connect ((gpointer) searchcomboentry, "changed",          g_signal_connect ((gpointer) searchcombo, "changed",
272                                                                                  G_CALLBACK (on_searchcomboentry_changed),                                                                                  G_CALLBACK (on_searchcombo_changed),
273                                                                                  NULL);                                                                                  NULL);
274          g_signal_connect ((gpointer) searchcheckbutton, "toggled",          g_signal_connect ((gpointer) searchcheckbutton, "toggled",
275                                                                                  G_CALLBACK (on_searchcheckbutton_toggled),                                                                                  G_CALLBACK (on_searchcheckbutton_toggled),
# Line 281  on_menu_search_activate (GtkMenuItem * m Line 284  on_menu_search_activate (GtkMenuItem * m
284          /* Store pointers to all widgets, for use by lookup_widget(). */          /* Store pointers to all widgets, for use by lookup_widget(). */
285          GLADE_HOOKUP_OBJECT_NO_REF (searchdialog, searchdialog, "searchdialog");          GLADE_HOOKUP_OBJECT_NO_REF (searchdialog, searchdialog, "searchdialog");
286          GLADE_HOOKUP_OBJECT (searchdialog, searchcombo, "searchcombo");          GLADE_HOOKUP_OBJECT (searchdialog, searchcombo, "searchcombo");
         GLADE_HOOKUP_OBJECT (searchdialog, searchcomboentry, "searchcomboentry");  
287          GLADE_HOOKUP_OBJECT (searchdialog, searchcheckbutton, "searchcheckbutton");          GLADE_HOOKUP_OBJECT (searchdialog, searchcheckbutton, "searchcheckbutton");
288    
         gtk_widget_grab_focus (searchcomboentry);  
289          if (searchhistory)          if (searchhistory)
290                  gtk_combo_set_popdown_strings (GTK_COMBO (searchcombo), searchhistory);          {
291          gtk_editable_delete_text (GTK_EDITABLE (searchcomboentry), 0, -1);                  num = g_list_length (searchhistory);
292                    for (i = 0; i < num; i++)
293                    {
294                            s = g_list_nth_data (searchhistory, i);
295                            gtk_combo_box_append_text (GTK_COMBO_BOX (searchcombo), s);
296                    }
297            }
298            gtk_editable_delete_text (GTK_EDITABLE (GTK_BIN(searchcombo)->child), 0, -1);
299          gtk_widget_set_sensitive (mainwindow, 0);          gtk_widget_set_sensitive (mainwindow, 0);
300          gtk_widget_show (searchdialog);          gtk_widget_show (searchdialog);
301  }  }

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26