GArray *array_tmp = g_array_new (TRUE, TRUE, sizeof(gchar*));
ws_gui_app->raw_translation = g_string_new(" ");
ws_gui_app->last_searched = NULL;
+ ws_gui_app->last_searched_in_book = NULL;
+ ws_gui_app->last_word = NULL;
ws_gui_app->ws_gui_banner_flag = FALSE;
ws_gui_app->ws_gui_full_screen_flag = FALSE;
ws_gui_app->ws_gui_sel_flag = FALSE;
ws_gui_app->bookmark_mode = FALSE;
ws_gui_app->bookmark_avail = TRUE;
-
- ws_gui_app->zoom = 1;
+ ws_gui_app->html_flag = TRUE;
+
+ ws_gui_app->zoom = ZOOM_DEFAULT;
ws_gui_app->timer = g_timer_new();
g_timer_stop(ws_gui_app->timer);
ws_gui_app->ws_gui_history = g_array_new(TRUE, TRUE, sizeof(gchar*));
ws_gui_app->ws_gui_history_list = g_array_new(TRUE, TRUE, sizeof(gchar*));
ws_gui_app->ws_gui_history_iter = g_array_new(TRUE, TRUE, sizeof(gchar*));
+ ws_gui_app->ws_gui_history_bookmarks = g_array_new(TRUE, TRUE, sizeof(gchar*));
ws_gui_app->history_flag = FALSE;
ws_gui_app->ws_gui_history_cur_pos = -1;
- ws_gui_app->history_mode = 0;
-
+
ws_gui_app->ws_gui_hildon_program =
HILDON_PROGRAM(hildon_program_get_instance());
hildon_program_add_window(ws_gui_app->ws_gui_hildon_program,
ws_gui_app->ws_gui_hildon_window);
- ws_gui_create_main_menu(ws_gui_app);
+ ws_gui_create_main_menu(ws_gui_app);
ws_gui_create_find_toolbar(ws_gui_app);
ws_gui_app->ws_gui_hpane = gtk_hpaned_new();
gtk_tree_selection_set_mode(
ws_gui_app->ws_gui_w_list->ws_gui_selection,
- GTK_SELECTION_SINGLE);
-
+ GTK_SELECTION_BROWSE);
ws_gui_app->directories = g_slist_alloc();
- //ws_gui_app->directories_last = gconf_client_all_dirs(
- // ws_gui_app->client,
- // GCONF_PATH, NULL);
ws_gui_set_bookmarks_sensitivity(ws_gui_app);
-
ws_gui_app->ws_gui_banner = hildon_banner_show_animation(
GTK_WIDGET(ws_gui_app->ws_gui_hildon_window),
NULL,
_("ws_ab_searching"));
+ gtk_widget_set_sensitive(GTK_WIDGET
+ (ws_gui_app->ws_gui_menu->ws_gui_popup_bookmark),
+ FALSE);
+
gtk_widget_hide(GTK_WIDGET(ws_gui_app->ws_gui_banner));
g_free(ws_gui_app->welcome_note);
}
(ws_gui_app->ws_gui_menu->ws_gui_menu_find_prev),
FALSE);
+
+
gtk_widget_show_all(ws_gui_app->ws_gui_menu->ws_gui_main_menu);
}
ws_gui_app->ws_gui_menu->ws_gui_separator =
gtk_separator_menu_item_new();
- struct _GtkHTML *tmp = (struct _GtkHTML *)(ws_gui_app->ws_gui_html);
-
ws_gui_app->ws_gui_menu->ws_gui_popup_search =
gtk_menu_item_new_with_label(_("ws_mp_search"));
gtk_menu_append((ws_gui_app->ws_gui_menu->ws_gui_popup_menu),
ws_gui_app->ws_gui_menu->ws_gui_popup_search);
gtk_menu_append ((ws_gui_app->ws_gui_menu->ws_gui_popup_menu),
gtk_separator_menu_item_new());
-
- if (html_engine_is_selection_active(tmp->engine) == TRUE)
- {
- gtk_widget_set_sensitive(GTK_WIDGET
- (ws_gui_app->ws_gui_menu->ws_gui_popup_search),
- TRUE);
- }
- else
- {
- gtk_widget_set_sensitive(GTK_WIDGET
- (ws_gui_app->ws_gui_menu->ws_gui_popup_search),
- FALSE);
- }
-
ws_gui_app->ws_gui_menu->ws_gui_popup_bookmark =
gtk_menu_item_new_with_label(_("ws_mp_add_bookmark"));
gtk_menu_append ((ws_gui_app->ws_gui_menu->ws_gui_popup_menu),
gtk_widget_show_all(ws_gui_app->ws_gui_menu->ws_gui_popup_submenu);
- ws_gui_app->ws_gui_menu->ws_gui_popup_edit =
- gtk_menu_item_new_with_label (_("ws_mp_edit"));
+ ws_gui_app->ws_gui_menu->ws_gui_popup_edit =
+ gtk_menu_item_new_with_label (_("ws_mp_edit"));
gtk_menu_append ((ws_gui_app->ws_gui_menu->ws_gui_popup_menu),
ws_gui_app->ws_gui_menu->ws_gui_popup_edit);
gtk_menu_append ((ws_gui_app->ws_gui_menu->ws_gui_popup_menu),
ws_gui_app->ws_gui_menu->ws_gui_popup_zoom_out);
- gtk_widget_show_all(ws_gui_app->ws_gui_menu->ws_gui_popup_menu);
gtk_menu_item_set_submenu(GTK_MENU_ITEM
(ws_gui_app->ws_gui_menu->ws_gui_popup_edit),
ws_gui_app->ws_gui_menu->ws_gui_popup_submenu);
+
+ struct _GtkHTML *tmp = (struct _GtkHTML *)(ws_gui_app->ws_gui_html);
+
+ if (html_engine_is_selection_active(tmp->engine) == TRUE)
+ {
+ gtk_widget_set_sensitive(GTK_WIDGET
+ (ws_gui_app->ws_gui_menu->ws_gui_popup_search),
+ TRUE);
+ gtk_widget_set_sensitive(GTK_WIDGET
+ (ws_gui_app->ws_gui_menu->ws_gui_popup_copy),
+ TRUE);
+ }
+ else
+ {
+ gtk_widget_set_sensitive(GTK_WIDGET
+ (ws_gui_app->ws_gui_menu->ws_gui_popup_search),
+ FALSE);
+ gtk_widget_set_sensitive(GTK_WIDGET
+ (ws_gui_app->ws_gui_menu->ws_gui_popup_copy),
+ FALSE);
+ }
+
+ if (ws_gui_app->html_flag == FALSE)
+ {
+ gtk_widget_set_sensitive(GTK_WIDGET
+ (ws_gui_app->ws_gui_menu->ws_gui_popup_select_all),
+ FALSE);
+ }
+ else
+ {
+ gtk_widget_set_sensitive(GTK_WIDGET
+ (ws_gui_app->ws_gui_menu->ws_gui_popup_select_all),
+ TRUE);
+ }
+
+ gtk_widget_show_all(ws_gui_app->ws_gui_menu->ws_gui_popup_menu);
+
g_signal_connect(G_OBJECT
(ws_gui_app->ws_gui_menu->ws_gui_popup_search),
}
else
{
- if (ws_gui_app->last_word != NULL)
+ g_strstrip(ws_gui_app->last_word);
+ //g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "\n\nlast_word: %s\n\n", ws_gui_app->last_word);
+
+ if (ws_gui_app->last_word == NULL ||
+ (ws_gui_app->last_word[0] == '\0'))
{
gtk_widget_set_sensitive(GTK_WIDGET
(ws_gui_app->ws_gui_menu->ws_gui_popup_bookmark),
- TRUE);
+ FALSE);
}
else
{
gtk_widget_set_sensitive(GTK_WIDGET
(ws_gui_app->ws_gui_menu->ws_gui_popup_bookmark),
- FALSE);
+ TRUE);
}
}
}
ws_dbus_notify(ws_gui_app->dbus_data,
WS_DBUS_INFO_CONFIG_CHANGED);
- //g_array_free(ws_gui_app->ws_gui_history, TRUE);
-
- //ws_gui_app->ws_gui_history = g_array_remove_range (ws_gui_app->ws_gui_history, 0, ws_gui_app->ws_gui_history->len);
+
+ if(ws_gui_app->ws_gui_history->len >= 0)
+ {
+ ws_gui_clear_array(ws_gui_app->ws_gui_history);
+ ws_gui_clear_array(ws_gui_app->ws_gui_history_list);
+ ws_gui_clear_array(ws_gui_app->ws_gui_history_iter);
+ ws_gui_app->ws_gui_history_cur_pos = -1;
+ }
+ ws_gui_check_history(ws_gui_app);
gtk_widget_destroy (dialog1);
}
WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
GtkWidget *dialog;
- GtkWidget *dialog2;
-
- /*dialog = gtk_file_chooser_dialog_new(_("ws_ti_load_dictionary_title"),
- GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
- GTK_FILE_CHOOSER_ACTION_SAVE, GTK_STOCK_OK,
- GTK_RESPONSE_OK,
- GTK_STOCK_CANCEL,
- GTK_RESPONSE_CANCEL,
- NULL);*/
-
+ // GtkWidget *dialog2;
dialog = hildon_file_chooser_dialog_new(
GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
GTK_FILE_CHOOSER_ACTION_OPEN);
-
- /*dialog = hildon_file_chooser_dialog_new(
- GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
- GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
- */
-
gtk_window_set_default_size(GTK_WINDOW (dialog), 200, 200);
gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER(dialog), FALSE);
{
gchar *filename;
gchar *name;
- gchar *path;
+ // gchar *path;
gint len;
- gchar *filepath;
+ // gchar *filepath;
gchar* tmp;
-
+
filename = gtk_file_chooser_get_filename(
GTK_FILE_CHOOSER (dialog));
name = g_path_get_basename(filename);
len = strlen(filename) - strlen(name) -1;
tmp = g_strndup (filename, len);
-
+
+
tmp = g_path_get_basename(tmp);
-
+
if (g_str_has_suffix(name, ".xdxf")
|| g_str_has_suffix(name, ".idx")
|| g_str_has_suffix(name, ".ifo")
|| g_str_has_suffix(name, ".dict")
|| g_str_has_suffix(name, ".dict.dz"))
{
- len = strlen(filename) - strlen(name) -1;
- filepath = g_strndup (filename, len);
- path = g_strconcat(GCONF_PATH, "/", tmp, "/path", NULL);
- gconf_client_set_string(ws_gui_app->client,
- path,
- filepath,
- NULL);
- g_free(path);
- path = NULL;
- path = g_strconcat(GCONF_PATH,
- "/",
- tmp,
- "/active",
- NULL);
- gtk_widget_destroy (dialog);
-
- dialog2 = gtk_message_dialog_new(GTK_WINDOW(
- ws_gui_app->ws_gui_hildon_window),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_YES_NO,
- _("ws_ni_dictionaries_activation_question"));
-
- gtk_widget_show_all(GTK_WIDGET(dialog2));
-
- if (gtk_dialog_run (GTK_DIALOG (dialog2)) ==
- GTK_RESPONSE_YES)
- {
- gconf_client_set_bool(ws_gui_app->client,
- path,
- TRUE,
- NULL);
- }
- else
- {
- gconf_client_set_bool(ws_gui_app->client,
- path,
- FALSE,
- NULL);
- }
- gtk_widget_destroy (dialog2);
- g_free(path);
- path = NULL;
-
- path = g_strconcat(GCONF_PATH,
- "/",
- tmp,
- "/optimized",
- NULL);
- dialog2 = gtk_message_dialog_new(
- GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_MESSAGE_QUESTION,
- GTK_BUTTONS_YES_NO,
- _("ws_ni_dictionaries_optimalization_question"));
-
- gtk_widget_show_all(GTK_WIDGET(dialog2));
-
- if (gtk_dialog_run (GTK_DIALOG (dialog2))
- == GTK_RESPONSE_YES)
- {
- gconf_client_set_bool(ws_gui_app->client,
- path,
- TRUE,
- NULL);
- }
- else
- {
- gconf_client_set_bool(ws_gui_app->client,
- path,
- FALSE,
- NULL);
- }
- gtk_widget_destroy (dialog2);
-
- ws_dbus_notify(ws_gui_app->dbus_data,
- WS_DBUS_INFO_CONFIG_CHANGED);
- gtk_infoprint(GTK_WINDOW(
+ g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "\n:::GUUUUIII GUIII::: check");
+ if (ws_gui_load_dict(filename, ws_gui_app) == TRUE)
+ {
+ gtk_widget_destroy(dialog);
+ gtk_infoprint(GTK_WINDOW(
ws_gui_app->ws_gui_hildon_window),
_("ws_ni_dictionary_added"));
+ }
}
+ else if (g_str_has_suffix(name, ".bz2"))
+ {
+ gtk_widget_destroy(dialog);
+ ws_dbus_extract_dictionary(ws_gui_app->dbus_data, filename);
+ }
else
{
- gtk_widget_destroy (dialog2);
+ gtk_widget_destroy (dialog);
gtk_infoprint(GTK_WINDOW(
ws_gui_app->ws_gui_hildon_window),
_("ws_ni_dictionary_wrong_file"));
- gtk_widget_destroy (dialog);
}
}
}
+/** this function creates dialog popup window which allows to load dictionary
+ *
+ * @param filename - the object which received the signal
+ * @param user_data - set when the signal handler was connected
+ */
+gboolean ws_gui_load_dict(gchar *filename, gpointer user_data)
+{
+ WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+
+ GtkWidget *dialog1;
+ GtkWidget *dialog2;
+ gchar *name = g_path_get_basename(filename);
+ gchar *path;
+ gint len;
+ gchar *filepath;
+
+ len = strlen(filename) - strlen(name) -1;
+ gchar *tmp = g_strndup (filename, len);;
+ tmp = g_path_get_basename(tmp);
+
+
+ filepath = g_strndup (filename, len);
+ path = g_strconcat(GCONF_PATH, "/", tmp, "/path", NULL);
+ gconf_client_set_string(ws_gui_app->client,
+ path,
+ filepath,
+ NULL);
+ g_free(path);
+ path = NULL;
+ path = g_strconcat(GCONF_PATH,
+ "/",
+ tmp,
+ "/active",
+ NULL);
+
+ dialog1 = gtk_message_dialog_new(GTK_WINDOW(
+ ws_gui_app->ws_gui_hildon_window),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_YES_NO,
+ _("ws_ni_dictionaries_activation_question"));
+
+ gtk_widget_show_all(GTK_WIDGET(dialog1));
+
+ if (gtk_dialog_run (GTK_DIALOG (dialog1)) == GTK_RESPONSE_YES)
+ {
+ gconf_client_set_bool(ws_gui_app->client,
+ path,
+ TRUE,
+ NULL);
+ }
+ else
+ {
+ gconf_client_set_bool(ws_gui_app->client,
+ path,
+ FALSE,
+ NULL);
+ }
+ gtk_widget_destroy (dialog1);
+ g_free(path);
+ path = NULL;
+
+ path = g_strconcat(GCONF_PATH, "/", tmp, "/optimized", NULL);
+
+ dialog2 = gtk_message_dialog_new(
+ GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_QUESTION,
+ GTK_BUTTONS_YES_NO,
+ _("ws_ni_dictionaries_optimalization_question"));
+
+ gtk_widget_show_all(GTK_WIDGET(dialog2));
+
+ if (gtk_dialog_run (GTK_DIALOG (dialog2)) == GTK_RESPONSE_YES)
+ {
+ gconf_client_set_bool(ws_gui_app->client,
+ path,
+ TRUE,
+ NULL);
+ }
+ else
+ {
+ gconf_client_set_bool(ws_gui_app->client,
+ path,
+ FALSE,
+ NULL);
+ }
+ gtk_widget_destroy (dialog2);
+
+ if(ws_gui_app->ws_gui_history->len > 0)
+ {
+ ws_gui_clear_array(ws_gui_app->ws_gui_history);
+ ws_gui_clear_array(ws_gui_app->ws_gui_history_list);
+ ws_gui_clear_array(ws_gui_app->ws_gui_history_iter);
+ ws_gui_app->ws_gui_history_cur_pos = -1;
+ }
+ ws_gui_check_history(ws_gui_app);
+
+ ws_dbus_notify(ws_gui_app->dbus_data,
+ WS_DBUS_INFO_CONFIG_CHANGED);
+
+ return TRUE;
+}
+
/** this function creates dialog popup window which allows to remove dictionary
* which is no longer used
*
}
}
+ if(ws_gui_app->ws_gui_history->len >= 0)
+ {
+ ws_gui_clear_array(ws_gui_app->ws_gui_history);
+ ws_gui_clear_array(ws_gui_app->ws_gui_history_list);
+ ws_gui_clear_array(ws_gui_app->ws_gui_history_iter);
+ ws_gui_app->ws_gui_history_cur_pos = -1;
+ }
+ ws_gui_check_history(ws_gui_app);
+
ws_dbus_notify(ws_gui_app->dbus_data,
WS_DBUS_INFO_CONFIG_CHANGED);
gtk_infoprint(GTK_WINDOW(