| 679 |
ripley |
1 |
|
|
|
2 |
#include <gnome.h>
|
|
|
3 |
#include <glade/glade.h>
|
|
|
4 |
|
|
|
5 |
#include "command-grep.h"
|
|
|
6 |
#include "terminal.h"
|
|
|
7 |
#include "terminal-functions.h"
|
|
|
8 |
|
|
|
9 |
void commands_grep_cb(GtkWidget *widget, gpointer data)
|
|
|
10 |
{
|
|
|
11 |
GladeXML *grep_xml;
|
|
|
12 |
GtkWidget *grep_dialog, *grep_pattern_entry, *grep_object_entry;
|
|
|
13 |
GtkWidget *grep_case_cb, *grep_extended_cb, *grep_value_cb;
|
|
|
14 |
gint button;
|
|
|
15 |
gchar *pattern, *object;
|
|
|
16 |
|
|
|
17 |
grep_xml = glade_xml_new(glade_interface_file, "grep_dialog");
|
|
|
18 |
|
|
|
19 |
grep_dialog = glade_xml_get_widget(grep_xml, "grep_dialog");
|
|
|
20 |
grep_pattern_entry = glade_xml_get_widget(grep_xml, "grep_pattern_entry");
|
|
|
21 |
grep_object_entry = glade_xml_get_widget(grep_xml, "grep_object_entry");
|
|
|
22 |
grep_case_cb = glade_xml_get_widget(grep_xml, "grep_case_cb");
|
|
|
23 |
grep_extended_cb = glade_xml_get_widget(grep_xml, "grep_extended_cb");
|
|
|
24 |
grep_value_cb = glade_xml_get_widget(grep_xml, "grep_value_cb");
|
|
|
25 |
|
|
|
26 |
gtk_object_unref(GTK_OBJECT(grep_xml));
|
|
|
27 |
|
|
|
28 |
gnome_dialog_set_default(GNOME_DIALOG(grep_dialog), 0);
|
|
|
29 |
|
|
|
30 |
gnome_dialog_editable_enters(GNOME_DIALOG(grep_dialog), GTK_EDITABLE(grep_pattern_entry));
|
|
|
31 |
gnome_dialog_editable_enters(GNOME_DIALOG(grep_dialog), GTK_EDITABLE(grep_object_entry));
|
|
|
32 |
|
|
|
33 |
button = gnome_dialog_run(GNOME_DIALOG(grep_dialog));
|
|
|
34 |
|
|
|
35 |
switch(button) {
|
|
|
36 |
case 0:
|
|
|
37 |
pattern = gtk_editable_get_chars(GTK_EDITABLE(grep_pattern_entry), 0, -1);
|
|
|
38 |
object = gtk_editable_get_chars(GTK_EDITABLE(grep_object_entry), 0, -1);
|
|
|
39 |
|
|
|
40 |
R_gtk_terminal_run_initial();
|
|
|
41 |
R_gtk_terminal_run_partial("grep(\"");
|
|
|
42 |
|
|
|
43 |
R_gtk_terminal_run_partial(pattern);
|
|
|
44 |
|
|
|
45 |
R_gtk_terminal_run_partial("\", ");
|
|
|
46 |
|
|
|
47 |
R_gtk_terminal_run_partial(object);
|
|
|
48 |
|
|
|
49 |
R_gtk_terminal_run_partial(", ignore.case=");
|
|
|
50 |
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(grep_case_cb)))
|
|
|
51 |
R_gtk_terminal_run_partial("TRUE");
|
|
|
52 |
else
|
|
|
53 |
R_gtk_terminal_run_partial("FALSE");
|
|
|
54 |
|
|
|
55 |
R_gtk_terminal_run_partial(", extended=");
|
|
|
56 |
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(grep_extended_cb)))
|
|
|
57 |
R_gtk_terminal_run_partial("TRUE");
|
|
|
58 |
else
|
|
|
59 |
R_gtk_terminal_run_partial("FALSE");
|
|
|
60 |
|
|
|
61 |
R_gtk_terminal_run_partial(", value=");
|
|
|
62 |
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(grep_value_cb)))
|
|
|
63 |
R_gtk_terminal_run_partial("TRUE");
|
|
|
64 |
else
|
|
|
65 |
R_gtk_terminal_run_partial("FALSE");
|
|
|
66 |
R_gtk_terminal_run_final(")\n");
|
|
|
67 |
|
|
|
68 |
g_free(pattern);
|
|
|
69 |
g_free(object);
|
|
|
70 |
break;
|
|
|
71 |
|
|
|
72 |
default:
|
|
|
73 |
break;
|
|
|
74 |
}
|
|
|
75 |
|
|
|
76 |
gtk_widget_destroy(GTK_WIDGET(grep_dialog));
|
|
|
77 |
}
|
|
|
78 |
|
|
|
79 |
|
|
|
80 |
|