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());
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_set_bookmarks_sensitivity(ws_gui_app);
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);
}
}
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);
}
}
}
WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
GtkWidget *dialog;
- GtkWidget *dialog2;
+ // GtkWidget *dialog2;
dialog = hildon_file_chooser_dialog_new(
GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
{
gchar *filename;
gchar *name;
- gchar *path;
+ // gchar *path;
gint len;
- gchar *filepath;
+ // gchar *filepath;
gchar* tmp;
len = strlen(filename) - strlen(name) -1;
tmp = g_strndup (filename, len);
+
tmp = g_path_get_basename(tmp);
- //gchar *tmp2 = g_strndup(name, (g_strrstr(name, ".") - name));
-
+
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);
-
- if(ws_gui_app->ws_gui_history->len >= 0)
+ g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "\n:::GUUUUIII GUIII::: check");
+ if (ws_gui_load_dict(filename, ws_gui_app) == TRUE)
{
- 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(
+ 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"))
{
- GtkWidget *dialog_optimize;
- GtkWidget *dialog_activate;
- gboolean optimize;
- gboolean activate;
-
- dialog_activate = 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"));
-
-
- if (gtk_dialog_run (GTK_DIALOG (dialog_activate))
- == GTK_RESPONSE_YES)
- {
- activate = TRUE;
- gtk_widget_destroy (dialog_activate);
- }
- else
- {
- activate = FALSE;
- gtk_widget_destroy (dialog_activate);
- }
-
- dialog_optimize = 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"));
-
-
- if (gtk_dialog_run (GTK_DIALOG (dialog_optimize))
- == GTK_RESPONSE_YES)
- {
- optimize = TRUE;
- gtk_widget_destroy (dialog_optimize);
- }
- else
- {
- optimize = FALSE;
- gtk_widget_destroy (dialog_optimize);
- }
-
+ 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
*