3
* Copyright (c) 2003,2004 Masahito Omote <omote@utyuuzin.net>
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
11
* 1. Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* 2. Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in the
15
* documentation and/or other materials provided with the distribution.
16
* 3. Neither the name of authors nor the names of its contributors
17
* may be used to endorse or promote products derived from this software
18
* without specific prior written permission.
20
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38
#include "anthyimportwordpane.h"
44
#include "uim/config.h"
45
#include "uim/gettext.h"
48
static gchar *dictionary_type[] = {
56
static void dixchange_import (const char* filename, int type) { g_print("dixchange_import called\n"); }
57
static void dixchange_export (const char* filename, int type) { g_print("dixchange_export called\n"); }
59
static void cb_browse_button_clicked(GtkButton *button, GtkEntry *entry) {
60
GtkWidget *filebrowser;
62
const gchar *filename;
64
filebrowser = gtk_file_selection_new(_("Select File"));
65
gtk_window_set_position(GTK_WINDOW(filebrowser), GTK_WIN_POS_CENTER);
66
ret = gtk_dialog_run(GTK_DIALOG(filebrowser));
70
filename = gtk_file_selection_get_filename(GTK_FILE_SELECTION(filebrowser));
71
gtk_entry_set_text(entry, filename);
72
gtk_widget_destroy(filebrowser);
74
case GTK_RESPONSE_CANCEL:
75
gtk_widget_destroy(filebrowser);
80
static void cb_export_button_clicked(GtkButton *button, AnthyImportWordPane *pane)
83
const gchar *filename;
85
int (*export_commands[])(const char*, int) = {
92
filename = gtk_entry_get_text(GTK_ENTRY(pane->exportfilename));
93
type = gtk_combo_box_get_active(GTK_COMBO_BOX(pane->combo_box_dic_export_type));
95
if(filename != NULL && filename[0] != '\0')
96
ret = export_commands[type](filename, 0);
99
dialog = gtk_message_dialog_new(NULL,
103
_("Exportion failed."));
104
gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
105
gtk_dialog_run(GTK_DIALOG(dialog));
106
gtk_widget_destroy(dialog);
110
static void cb_import_button_clicked(GtkButton *button, AnthyImportWordPane *pane)
112
const gchar *filename;
114
int (*import_commands[])(const char*, int) = {
121
filename = gtk_entry_get_text(GTK_ENTRY(pane->importfilename));
122
type = gtk_combo_box_get_active(GTK_COMBO_BOX(pane->combo_box_dic_import_type));
123
if(filename != NULL && filename[0] != '\0')
124
ret = import_commands[type](filename, 0);
127
int create_anthy_importwordpane(AnthyImportWordPane *pane) {
128
GtkWidget *vbox1, *vbox2;
129
GtkWidget *hbox1, *hbox2;
130
GtkWidget *hbox3, *hbox4;
131
GtkWidget *label1, *label2;
132
GtkWidget *frame1, *frame2;
133
/* GtkWidget *menu, *menuitem; */
134
gint i, dictionary_type_num;
136
dictionary_type_num = sizeof(dictionary_type) / sizeof(dictionary_type[0]);
138
pane->pane = gtk_hbox_new(FALSE, 5);
139
gtk_container_set_border_width(GTK_CONTAINER(pane->pane), 15);
141
vbox1 = gtk_vbox_new(FALSE, 0);
142
gtk_widget_show(vbox1);
143
gtk_box_pack_start(GTK_BOX(pane->pane), vbox1, FALSE, FALSE, 0);
146
frame1 = gtk_frame_new(_("Import"));
147
gtk_widget_show(frame1);
148
gtk_box_pack_start(GTK_BOX(vbox1), frame1, FALSE, FALSE, 0);
150
hbox2 = gtk_hbox_new(FALSE, 0);
151
gtk_widget_show(hbox2);
152
gtk_container_set_border_width(GTK_CONTAINER(hbox2), 10);
153
gtk_container_add(GTK_CONTAINER(frame1), hbox2);
155
label1 = gtk_label_new_with_mnemonic(_("Filename:"));
156
gtk_widget_show(label1);
157
gtk_box_pack_start(GTK_BOX(hbox2), label1, FALSE, FALSE, 0);
159
pane->importfilename = gtk_entry_new();
160
gtk_widget_show(pane->importfilename);
161
gtk_box_pack_start(GTK_BOX(hbox2), pane->importfilename, FALSE, FALSE, 5);
163
pane->button_import_getfilename = gtk_button_new_with_label(_("Browse..."));
164
gtk_widget_show(pane->button_import_getfilename);
165
gtk_box_pack_start(GTK_BOX(hbox2), pane->button_import_getfilename,
167
g_signal_connect(G_OBJECT(pane->button_import_getfilename), "clicked",
168
G_CALLBACK(cb_browse_button_clicked),
169
GTK_ENTRY(pane->importfilename));
171
pane->combo_box_dic_import_type = gtk_combo_box_new_text();
172
gtk_widget_show(pane->combo_box_dic_import_type);
173
for(i = 0; i < dictionary_type_num; i++) {
174
gtk_combo_box_append_text(GTK_COMBO_BOX(pane->combo_box_dic_import_type),
177
gtk_box_pack_start(GTK_BOX(hbox2), pane->combo_box_dic_import_type,
180
pane->button_doimport = gtk_button_new_with_label(_("Import"));
181
gtk_box_pack_start(GTK_BOX(hbox2), pane->button_doimport,
183
gtk_widget_show(pane->button_doimport);
184
g_signal_connect(G_OBJECT(pane->button_doimport), "clicked",
185
G_CALLBACK(cb_import_button_clicked), pane);
189
frame2 = gtk_frame_new(_("Export"));
190
gtk_widget_show(frame2);
191
gtk_box_pack_start(GTK_BOX(vbox1), frame2, FALSE, FALSE, 10);
193
hbox3 = gtk_hbox_new(FALSE, 0);
194
gtk_widget_show(hbox3);
195
gtk_container_set_border_width(GTK_CONTAINER(hbox3), 10);
196
gtk_container_add(GTK_CONTAINER(frame2), hbox3);
198
label2 = gtk_label_new_with_mnemonic(_("Filename:"));
199
gtk_widget_show(label2);
200
gtk_box_pack_start(GTK_BOX(hbox3), label2, FALSE, FALSE, 0);
202
pane->exportfilename = gtk_entry_new();
203
gtk_widget_show(pane->exportfilename);
204
gtk_box_pack_start(GTK_BOX(hbox3), pane->exportfilename, FALSE, FALSE, 5);
206
pane->button_export_getfilename = gtk_button_new_with_label(_("Browse..."));
207
gtk_widget_show(pane->button_export_getfilename);
208
gtk_box_pack_start(GTK_BOX(hbox3), pane->button_export_getfilename,
210
g_signal_connect(G_OBJECT(pane->button_export_getfilename), "clicked",
211
G_CALLBACK(cb_browse_button_clicked),
212
GTK_ENTRY(pane->exportfilename));
213
pane->combo_box_dic_export_type = gtk_combo_box_new_text();
214
gtk_widget_show(pane->combo_box_dic_export_type);
215
for(i = 0; i < dictionary_type_num; i++) {
216
gtk_combo_box_append_text(GTK_COMBO_BOX(pane->combo_box_dic_export_type),
220
gtk_box_pack_start(GTK_BOX(hbox3), pane->combo_box_dic_export_type,
222
pane->button_doexport = gtk_button_new_with_label(_("Export"));
223
gtk_box_pack_start(GTK_BOX(hbox3), pane->button_doexport,
225
gtk_widget_show(pane->button_doexport);
227
g_signal_connect(G_OBJECT(pane->button_doexport), "clicked",
228
G_CALLBACK(cb_export_button_clicked), pane);
232
int show_anthy_importwordpane(AnthyImportWordPane *pane) {
233
gtk_widget_show(pane->pane);