problem with cleaning wors list after bookmarks closing fixed;
[mdictionary] / src / gui / src / ws_gui_callbacks.c
index 2ccb695..5f417d8 100644 (file)
@@ -177,23 +177,35 @@ void ws_gui_signal_hander (GError *error, GArray *words, gpointer user_data)
                        gtk_widget_set_sensitive(
                         GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_search),
                         FALSE);
+                        gtk_widget_set_sensitive(
+                        GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_bookmarks),
+                        FALSE);
+                      gtk_widget_set_sensitive(
+                       GTK_WIDGET(ws_gui_app->ws_gui_w_list->ws_gui_view),
+                       FALSE);
 
                        break;
                 }
 
                 case WS_DBUS_INFO_CACHING_FINISHED:
                 {
-                        gtk_widget_destroy(
-                                 GTK_WIDGET(ws_gui_app->ws_gui_banner_caching));
-                        ws_gui_app->caching_flag = FALSE;
-                        gtk_widget_set_sensitive(
-                             GTK_WIDGET(ws_gui_app->ws_gui_hildon_find_toolbar),
-                             TRUE);
-                        gtk_widget_set_sensitive(
-                       GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_search),
-                       TRUE);
+                      gtk_widget_destroy(
+                      GTK_WIDGET(ws_gui_app->ws_gui_banner_caching));
+                      ws_gui_app->caching_flag = FALSE;
+                      gtk_widget_set_sensitive(
+                      GTK_WIDGET(ws_gui_app->ws_gui_hildon_find_toolbar),
+                      TRUE);
+                      gtk_widget_set_sensitive(
+                      GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_search),
+                      TRUE);
+                     gtk_widget_set_sensitive(
+                      GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_bookmarks),
+                      TRUE);
+                     gtk_widget_set_sensitive(
+                      GTK_WIDGET(ws_gui_app->ws_gui_w_list->ws_gui_view),
+                      TRUE);
 
-                        break;
+                      break;
                 }
 
                 case WS_DBUS_ERROR_DICTIONARY_NOT_LOAD:
@@ -244,7 +256,7 @@ void ws_gui_signal_hander (GError *error, GArray *words, gpointer user_data)
                                         _("ws_ni_bookmark_not_added"));
                break;
                }
-        
+
                case WS_DBUS_BOOKMARKS_REMOVED_FAIL:
                {
                        gtk_infoprint(GTK_WINDOW(
@@ -279,8 +291,108 @@ void ws_gui_signal_hander (GError *error, GArray *words, gpointer user_data)
                        
                         break; 
                }
+               case WS_DBUS_EXTRACT_FILE:
+                {
+                        ws_gui_app->ws_gui_banner_extracting =
+                               hildon_banner_show_animation(
+                                   GTK_WIDGET(ws_gui_app->ws_gui_hildon_window),
+                                   NULL,
+                                   _("ws_pb_extracting"));
+
+                       ws_gui_app->caching_flag = TRUE;
+                       
+                       gtk_widget_set_sensitive(
+                          GTK_WIDGET(ws_gui_app->ws_gui_hildon_find_toolbar),
+                          FALSE);
+                       gtk_widget_set_sensitive(
+                       GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_search),
+                        FALSE);
+
+                       break;
+                }
+
+                case WS_DBUS_EXTRACT_FILE_FINISHED:
+                {
+                       gtk_widget_destroy(
+                       GTK_WIDGET(ws_gui_app->ws_gui_banner_extracting));
+                       
+                       ws_gui_app->caching_flag = FALSE;
+                       
+                       gtk_infoprint(GTK_WINDOW(
+                                      ws_gui_app->ws_gui_hildon_window),
+                                      _("ws_ni_dictionary_added"));
+                       
+                       gtk_widget_set_sensitive(
+                       GTK_WIDGET(ws_gui_app->ws_gui_hildon_find_toolbar),
+                       TRUE);
+                       gtk_widget_set_sensitive(
+                       GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_search),
+                       TRUE);
+
+                        break;
+                }
+
+               case  WS_DBUS_WORDS_LIST_FULL:
+               {
+                       gtk_widget_show(GTK_WIDGET(ws_gui_app->ws_gui_list_hbox));
+               break;
+               }
+
+               case  WS_DBUS_WORDS_LIST_FILLED_NOT_FULL:
+               {
+                       gtk_widget_hide(GTK_WIDGET(ws_gui_app->ws_gui_list_hbox));
+               break;
+               }
+
+               case  WS_DBUS_WORDS_LIST_FINISHED:
+               {
+                       gtk_widget_hide(GTK_WIDGET(ws_gui_app->ws_gui_banner_list_searching));
+               break;
+               }
+
+               case  WS_DBUS_TRANSLATION_FINISHED:
+               {
+                       gtk_widget_hide(ws_gui_app->ws_gui_banner_translation_loading);
+               break;
+               }
+
+               case  WS_DBUS_WORDS_LIST_STARTED:
+               {
+                       gtk_widget_show(GTK_WIDGET(ws_gui_app->ws_gui_banner_list_searching));
+               break;
+               }
+
+               case  WS_DBUS_TRANSLATION_STARTED:
+               {
+                       gtk_widget_show(ws_gui_app->ws_gui_banner_translation_loading);
+               break;
+               }
+
         }
 }
+
+
+/* added by Dariusz Wiechecki - HISA */
+void ws_gui_search_home_handler(GError *error, GArray *word, gpointer user_data)
+{
+        g_debug("->%s", __FUNCTION__);
+        WSGuiApp *data = (WSGuiApp*) user_data;
+        osso_rpc_t* osso_data = NULL;
+
+        //get the word passed by dbus 
+        osso_data = &g_array_index (word, osso_rpc_t, 0); 
+
+        //free memory used by last searched word
+        gchar* tmp = NULL;
+        tmp = g_strdup(osso_data->value.s + 11);
+       
+       g_object_set(G_OBJECT(data->ws_gui_hildon_find_toolbar),
+                    "prefix",
+                    tmp,
+                    NULL);
+       ws_gui_search(NULL, data);
+}
+
 /**  this function handles signals from dbus; it is called when progress bar
  status has been changed
  *
@@ -303,6 +415,31 @@ void ws_dbus_progress_bar(GError *error, GArray *words, gpointer user_data)
         }
 }
 
+/** this function clean GtkListStore row by row
+ *
+ * @param list - GtkListStore to be remoeved
+ * @return
+ */
+void ws_gui_clear_list (GtkListStore* list, gpointer user_data) 
+{
+       //WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+       GtkTreeIter iter;
+       gboolean tmp;
+       
+       //g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "\n\nws_gui_clear_list\n\n");   
+       tmp = gtk_tree_model_get_iter_first(
+                        GTK_TREE_MODEL(list),
+                        &iter);        
+
+       while (tmp == TRUE)
+       {
+       //      g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "\n\nws_gui_clear_list2\n\n");
+               tmp = gtk_list_store_remove(list, &iter);
+               
+       }
+}
+
+
 /** this function handles signal from dbus and transfer recived 
 (found in a dictionary) words to the words list
  *
@@ -318,7 +455,14 @@ void ws_gui_dbus_return_words (GError *error, GArray *words, gpointer user_data)
         osso_rpc_t data;
 
         WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+       ws_gui_app->no_words_found = FALSE;
        
+       g_signal_handlers_block_by_func(G_OBJECT 
+                       (ws_gui_app->ws_gui_w_list->ws_gui_view),
+                        G_CALLBACK (ws_gui_view_cursor_changed), 
+                       ws_gui_app);    
+
+
         GArray *tmp;
         tmp = g_array_new(TRUE, TRUE, sizeof(gchar*));
         gchar *tmp_word;
@@ -326,59 +470,129 @@ void ws_gui_dbus_return_words (GError *error, GArray *words, gpointer user_data)
         for (i=0;i<words->len;++i)
         {
                 data = g_array_index (words, osso_rpc_t, i);
-                tmp_word = g_strconcat(data.value.s,NULL);
+                tmp_word = g_strdup(data.value.s);
                 g_array_append_val(tmp, tmp_word);
         }
        
-       g_assert(ws_gui_app->ws_gui_banner);
-        gtk_widget_hide(GTK_WIDGET(ws_gui_app->ws_gui_banner));
-       //g_signal_handler_unblock(G_OBJECT(ws_gui_app->ws_gui_w_list->ws_gui_selection), 263); 
-       ws_gui_app->ws_gui_banner_flag = FALSE;
-        gtk_widget_set_sensitive(
-                              GTK_WIDGET(ws_gui_app->ws_gui_toobar_button_stop),
-                              FALSE);
-        gtk_widget_set_sensitive(
-                          GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_stop),
-                          FALSE);
-        gtk_list_store_clear(ws_gui_app->ws_gui_w_list->ws_gui_store);
+       //g_assert(ws_gui_app->ws_gui_banner_list_searching);
+        //gtk_widget_hide(GTK_WIDGET(ws_gui_app->ws_gui_banner_list_searching));
+
+       ws_gui_app->loading = FALSE;
+       ws_gui_set_toolbar_avail(ws_gui_app);
+
+       //ws_gui_app->ws_gui_banner_flag = FALSE;
+
+       //ws_gui_clear_list(ws_gui_app->ws_gui_w_list->ws_gui_store);
+
 
         ws_gui_app->ws_gui_w_list->ws_gui_model = 
                                         create_and_fill_model(tmp, ws_gui_app);
        
        if (ws_gui_app->history_flag == TRUE)
        {
-       gtk_tree_model_get_iter_from_string
-                                            (GTK_TREE_MODEL(
-                         ws_gui_app->ws_gui_w_list->ws_gui_model),
-                                            &ws_gui_app->ws_gui_w_list->ws_gui_iter,
-                                             g_array_index(ws_gui_app->ws_gui_history_iter,
-                                               gchar*, 
-                                               ws_gui_app->ws_gui_history_cur_pos));
-
-       gtk_tree_selection_select_iter(
+
+       GValue value = { 0, };
+       GtkTreeIter tmp_iter;
+       gchar *pattern;
+       gboolean keep_searching = TRUE;
+
+       if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(
+           ws_gui_app->ws_gui_w_list->ws_gui_model), &tmp_iter) == TRUE)
+       {
+
+               pattern = strdup(g_array_index(ws_gui_app->ws_gui_history,
+                                       gchar*, 
+                                       ws_gui_app->ws_gui_history_cur_pos));
+               
+               gtk_tree_model_get_value(GTK_TREE_MODEL(
+                               ws_gui_app->ws_gui_w_list->ws_gui_model), 
+                               &tmp_iter, 
+                               COL_WORD, 
+                               &value);
+
+               if ((g_value_get_string (&value) != NULL) &&
+                               (strcmp(((gchar *)g_value_get_string (&value)), 
+                                pattern) == 0))
+               {
+                       gtk_tree_selection_select_iter(
                                ws_gui_app->ws_gui_w_list->ws_gui_selection,
-                                &ws_gui_app->ws_gui_w_list->ws_gui_iter);
-       
+                               &tmp_iter);
+
+               }
+               else
+               {
+               while (gtk_tree_model_iter_next(GTK_TREE_MODEL
+                     (ws_gui_app->ws_gui_w_list->ws_gui_model), 
+                     &tmp_iter) == TRUE && keep_searching == TRUE)
+               {
+                       gtk_tree_model_get_value(GTK_TREE_MODEL(
+                               ws_gui_app->ws_gui_w_list->ws_gui_model), 
+                               &tmp_iter, 
+                               COL_WORD, 
+                               &value);
+
+                       if ((g_value_get_string (&value) != NULL) &&
+                               (strcmp(((gchar *)g_value_get_string (&value)), 
+                               pattern) == 0))
+                               {
+                               gtk_tree_model_get_iter_from_string (
+                               GTK_TREE_MODEL(
+                               ws_gui_app->ws_gui_w_list->ws_gui_model),
+                                &tmp_iter,
+                                g_array_index(
+                               ws_gui_app->ws_gui_history_iter,
+                               gchar*, 
+                               ws_gui_app->ws_gui_history_cur_pos));
+
+                               gtk_tree_selection_select_iter(
+                               ws_gui_app->ws_gui_w_list->ws_gui_selection,
+                               &tmp_iter);
+                                                               
+                               keep_searching = FALSE;
+                               }
+                       }
+               }
+       }
+       g_free(pattern);
+
        ws_gui_app->history_flag = FALSE;
-       ws_gui_fill_html(format_html(data.value.s, ws_gui_app), ws_gui_app);
+       ws_dbus_client_find_translation(ws_gui_app->dbus_data, 
+                               g_array_index(ws_gui_app->ws_gui_history,
+                               gchar*, 
+                               ws_gui_app->ws_gui_history_cur_pos));
+       
        ws_gui_app->html_flag = TRUE;
+       g_value_unset (&value);
        }
        
-        if (tmp->len == 0)
+       
+/*     g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "Dlugosc tempa to: %d", tmp->len);
+       g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, "w tempie mamy: %s", tmp_word);*/
+        //if (&& ws_gui_app->stop_clicked != TRUE )
+       
+       if ((tmp->len == 0 || tmp_word == NULL) && ws_gui_app->stop_clicked != TRUE )
         {
                 gtk_infoprint(GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
                               _("ws_ni_no_words_found"));
                
-               ws_gui_app->history_mode = 0;
-
-               ws_gui_fill_html(" ", ws_gui_app);
-               ws_gui_app->html_flag = FALSE;
+               //ws_gui_fill_html(" ", ws_gui_app);
+               //ws_gui_app->html_flag = FALSE;
                g_free(ws_gui_app->last_word);
                ws_gui_app->last_word = NULL;
+               ws_gui_app->no_words_found = TRUE;
         }
 
+       g_signal_handlers_unblock_by_func(G_OBJECT(
+                                       ws_gui_app->ws_gui_w_list->ws_gui_view),
+                                        G_CALLBACK (ws_gui_view_cursor_changed), 
+                                       ws_gui_app);    
        
+       for (i=0;i<tmp->len;++i)
+        {
+                g_free(g_array_index(tmp, gchar* , i));
+        }
+       g_array_free(tmp, TRUE);
+
         timer(TIMER_STOP, (gchar*)__FUNCTION__);
 }
 
@@ -394,17 +608,54 @@ void ws_gui_dbus_return_translation (GError *error,
                                      GArray *words,
                                      gpointer user_data)
 {
-        //timer(TIMER_START, (gchar*)__FUNCTION__);
         WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
-
+       gchar *html_content = NULL;
         osso_rpc_t data;
 
         data = g_array_index (words, osso_rpc_t, 0);
-       //gtk_html_zoom_reset(GTK_HTML(ws_gui_app->ws_gui_html));
-       ws_gui_fill_html(format_html(data.value.s, ws_gui_app), ws_gui_app);
+
+       html_content = format_html(data.value.s, ws_gui_app);
+       ws_gui_fill_html(html_content, ws_gui_app);
+       g_free(html_content);
        ws_gui_app->html_flag = TRUE;
-        //timer(TIMER_STOP, (gchar*)__FUNCTION__);
+       
+       //gtk_widget_hide(ws_gui_app->ws_gui_banner_translation_loading);
+       ws_gui_app->loading = FALSE;
+       ws_gui_set_toolbar_avail(ws_gui_app);
+
+}
+
+/** this function handles signal from dbus and send recived data to 
+the translation area
+ *
+ * @param error - error message recived from DBUS
+ * @param words - array with recived data structure
+ * @param user_data - pointer to data structure
+ * @return
+ */
+void ws_dbus_server_return_extracted_bzip(GError *error,
+                                     GArray *words,
+                                     gpointer user_data)
+{
+       WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+
+        osso_rpc_t data;
+
+        data = g_array_index (words, osso_rpc_t, 0);
 
+       if (data.value.s[0] == '\0')
+       {
+               gtk_infoprint(GTK_WINDOW(
+                                ws_gui_app->ws_gui_hildon_window),
+                                _("ws_ni_dictionary_not_added"));
+       }
+       else
+       {
+       if (ws_gui_load_dict(data.value.s, ws_gui_app) == TRUE)
+       {
+               
+       }
+       }
 }
 
 /**
@@ -415,8 +666,32 @@ void ws_gui_dbus_return_translation (GError *error,
 void ws_gui_free_memory(gpointer user_data)
 {
         WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+       guint i = 0;
+       for (i = 0; i<ws_gui_app->ws_gui_history->len; ++i)
+       {
+               g_free(g_array_index(ws_gui_app->ws_gui_history, gchar *, i));
+       }
         g_array_free(ws_gui_app->ws_gui_history, TRUE);
+
+       for (i = 0; i<ws_gui_app->ws_gui_history_list->len; ++i)
+       {
+               g_free(g_array_index(ws_gui_app->ws_gui_history_list, gchar *, i));
+       }
+       g_array_free(ws_gui_app->ws_gui_history_list, TRUE);
+
+       for (i = 0; i<ws_gui_app->ws_gui_history_iter->len; ++i)
+       {
+               g_free(g_array_index(ws_gui_app->ws_gui_history_iter, gchar *, i));
+       }
+       g_array_free(ws_gui_app->ws_gui_history_iter, TRUE);
+
+
         pango_font_description_free(ws_gui_app->p);
+
+       g_free(ws_gui_app->welcome_note);
+       ws_gui_app->welcome_note = NULL;
+
+       g_string_free(ws_gui_app->raw_translation, TRUE);
         g_free(ws_gui_app->last_word);
        g_free(ws_gui_app->ws_gui_w_list);
         g_free(ws_gui_app->ws_gui_menu);
@@ -479,13 +754,6 @@ gboolean hildon_key_press_listener (GtkWidget * widget,
                                         GTK_ADJUSTMENT(ws_gui_app->ws_gui_vadj),
                                         ws_gui_app->v_new_value);
                       }
-                       /*if (gtk_tree_model_iter_next(
-                               ws_gui_app->ws_gui_w_list->ws_gui_model, &ws_gui_app->ws_gui_w_list->ws_gui_iter) == TRUE)
-                       {
-                       gtk_tree_selection_select_iter(
-                               ws_gui_app->ws_gui_w_list->ws_gui_selection,
-                                &ws_gui_app->ws_gui_w_list->ws_gui_iter);
-                       }*/
                       break;
                 }
 
@@ -574,7 +842,7 @@ void ws_gui_words_list_hide_from_menu(GtkCheckMenuItem *checkmenuitem,
         if (gtk_check_menu_item_get_active(
            GTK_CHECK_MENU_ITEM(ws_gui_app->ws_gui_menu->ws_gui_menu_hide_list)))
         {
-                gtk_widget_hide(ws_gui_app->ws_gui_scrolledwindow_left);
+                gtk_widget_hide(ws_gui_app->ws_gui_list_vbox);
                 gtk_toggle_tool_button_set_active(
                   GTK_TOGGLE_TOOL_BUTTON(ws_gui_app->ws_gui_toobar_button_hide),
                   TRUE);
@@ -584,7 +852,7 @@ void ws_gui_words_list_hide_from_menu(GtkCheckMenuItem *checkmenuitem,
         }
         else 
         {
-                gtk_widget_show(ws_gui_app->ws_gui_scrolledwindow_left);
+                gtk_widget_show(ws_gui_app->ws_gui_list_vbox);
                 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(
                                          ws_gui_app->ws_gui_toobar_button_hide),
                                          FALSE);
@@ -608,7 +876,7 @@ void ws_gui_words_list_hide(GtkToggleButton *togglebutton, gpointer user_data)
         if (gtk_toggle_tool_button_get_active(
                  GTK_TOGGLE_TOOL_BUTTON(ws_gui_app->ws_gui_toobar_button_hide)))
         {
-                gtk_widget_hide(ws_gui_app->ws_gui_scrolledwindow_left);
+                gtk_widget_hide(ws_gui_app->ws_gui_list_vbox);
                 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(
                                          ws_gui_app->ws_gui_toobar_button_hide),
                                          TRUE);
@@ -618,7 +886,7 @@ void ws_gui_words_list_hide(GtkToggleButton *togglebutton, gpointer user_data)
         }
         else 
         {
-                gtk_widget_show(ws_gui_app->ws_gui_scrolledwindow_left);
+                gtk_widget_show(ws_gui_app->ws_gui_list_vbox);
                 gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(
                                          ws_gui_app->ws_gui_toobar_button_hide),
                                          FALSE);
@@ -638,7 +906,7 @@ void ws_gui_history_add(char *new_word, gpointer user_data)
 {
        WSGuiApp* ws_gui_app = (WSGuiApp *)user_data;
 
-       if (ws_gui_app->history_mode == 0)
+       if (ws_gui_app->history_flag != TRUE)
        {
 
                guint i;
@@ -663,9 +931,10 @@ void ws_gui_history_add(char *new_word, gpointer user_data)
                gchar *tmp = g_array_index(ws_gui_app->ws_gui_history, 
                                           gchar*, 
                                           i);
-               tmp_iter = gtk_tree_model_get_string_from_iter (GTK_TREE_MODEL(ws_gui_app->ws_gui_w_list->ws_gui_model), &ws_gui_app->ws_gui_w_list->ws_gui_iter);
+               //tmp_iter = gtk_tree_model_get_string_from_iter (GTK_TREE_MODEL(ws_gui_app->ws_gui_w_list->ws_gui_model), &ws_gui_app->ws_gui_w_list->ws_gui_iter);
        
-               if (previous_word != NULL && strcmp(previous_word, new_word) != 0)
+               if (previous_word != NULL && 
+                   strcmp(previous_word, new_word) != 0)
                {
                        while (tmp != NULL) 
                        {
@@ -690,15 +959,15 @@ void ws_gui_history_add(char *new_word, gpointer user_data)
                i = 0;
                ws_gui_app->ws_gui_history_cur_pos ++;
        
-               
                if (ws_gui_app->bookmark_mode == FALSE)
                {
-               tmp_last_searched = g_strdup(ws_gui_app->last_searched);
+                       tmp_last_searched = g_strdup(ws_gui_app->last_searched);
                }
                else
                {
                tmp_last_searched = g_strdup(ws_gui_app->last_searched_in_book);
                }
+
                g_array_append_val(ws_gui_app->ws_gui_history_list, 
                                   tmp_last_searched);
                                
@@ -720,10 +989,12 @@ void ws_gui_history_add(char *new_word, gpointer user_data)
                }
        
                i = 0;
+               
                tmp = g_array_index(ws_gui_app->ws_gui_history, gchar*, i);
                }
                
        }
+
         ws_gui_check_history(ws_gui_app);
 }
 
@@ -740,38 +1011,36 @@ void ws_gui_history_back(GtkButton *button, gpointer user_data)
        
        ws_gui_app->history_flag = TRUE;
 
-        if (ws_gui_app->ws_gui_history_cur_pos > 0) 
+        if (ws_gui_app->ws_gui_history_cur_pos > -1) 
        {
                ws_gui_app->ws_gui_history_cur_pos = 
                                        ws_gui_app->ws_gui_history_cur_pos - 1;
 
-               g_object_set(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
+               
+               g_object_set(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
                             "prefix",
                             (g_array_index(ws_gui_app->ws_gui_history_list,
                              gchar*, 
                              ws_gui_app->ws_gui_history_cur_pos)),
                             NULL);
        
-               
                ws_dbus_client_find_word (ws_gui_app->dbus_data, 
-                                       g_array_index(ws_gui_app->ws_gui_history_list,
+                                       g_strstrip(g_array_index(ws_gui_app->ws_gui_history_list,
                                                gchar*, 
-                                               ws_gui_app->ws_gui_history_cur_pos)
+                                       ws_gui_app->ws_gui_history_cur_pos))
                                        );
-               
+               //gtk_widget_hide(ws_gui_app->ws_gui_list_hbox);
+               //gtk_widget_show(ws_gui_app->ws_gui_banner_translation_loading);
+               ws_gui_app->loading = TRUE;
+               ws_gui_set_toolbar_avail(ws_gui_app);
         }
         else 
         {
-                gtk_widget_set_sensitive (
-                              GTK_WIDGET(ws_gui_app->ws_gui_toobar_button_back),
-                              FALSE);
-                gtk_widget_set_sensitive(
-                     GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_find_prev),
-                     FALSE);
+               ws_gui_app->loading = FALSE;
+               ws_gui_set_toolbar_avail(ws_gui_app);
         }
 
         ws_gui_check_history(ws_gui_app);
-
 }
 
 /** display choosen word, next in the history array (if avaible), 
@@ -797,6 +1066,7 @@ void ws_gui_history_next(GtkButton *button, gpointer user_data)
                 ws_gui_app->ws_gui_history_cur_pos =
                          ws_gui_app->ws_gui_history_cur_pos + 1;
 
+
                g_object_set(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
                               "prefix",
                               (g_array_index(ws_gui_app->ws_gui_history_list,
@@ -804,11 +1074,17 @@ void ws_gui_history_next(GtkButton *button, gpointer user_data)
                                ws_gui_app->ws_gui_history_cur_pos)),
                               NULL);
        
+               
                ws_dbus_client_find_word(ws_gui_app->dbus_data, 
-                                       g_array_index(ws_gui_app->ws_gui_history_list,
+                                       g_strstrip(g_array_index(ws_gui_app->ws_gui_history_list,
                                        gchar*, 
-                                               ws_gui_app->ws_gui_history_cur_pos)
+                                               ws_gui_app->ws_gui_history_cur_pos))
                                        );
+               
+               //gtk_widget_hide(ws_gui_app->ws_gui_list_hbox);
+               //gtk_widget_show(ws_gui_app->ws_gui_banner_translation_loading);
+               ws_gui_app->loading = TRUE;
+               ws_gui_set_toolbar_avail(ws_gui_app);
         }
         else 
         {
@@ -890,10 +1166,20 @@ void ws_gui_check_history(gpointer user_data)
 GtkTreeModel * create_and_fill_model (GArray *words_list, gpointer user_data)
 {
         WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+
+       g_signal_handlers_block_by_func(G_OBJECT (ws_gui_app->ws_gui_w_list->ws_gui_view),
+                                        G_CALLBACK (ws_gui_view_cursor_changed), 
+                                       ws_gui_app);    
+
         guint i = 0;
         gchar *tmp = g_strdup(g_array_index(words_list, gchar*, i));
 
-        gboolean valid;
+       if (tmp != NULL)
+       {
+               ws_gui_clear_list(ws_gui_app->ws_gui_w_list->ws_gui_store, ws_gui_app);
+       }
+
+       gboolean valid;
         valid = gtk_tree_model_get_iter_first(
                         GTK_TREE_MODEL(ws_gui_app->ws_gui_w_list->ws_gui_store),
                         &ws_gui_app->ws_gui_w_list->ws_gui_iter);
@@ -909,21 +1195,36 @@ GtkTreeModel * create_and_fill_model (GArray *words_list, gpointer user_data)
                              COL_WORD, tmp,
                               -1);
                 i=i+1;
+               g_free(tmp);
+               tmp = NULL;
                 tmp = g_strdup(g_array_index(words_list, gchar*, i));
         };
 
+       g_free(tmp);
+       tmp = NULL;
        tmp = g_strdup(g_array_index(words_list, gchar*, 0));
 
-       if (tmp != NULL && ws_gui_app->history_flag == FALSE)
-        {
-                ws_dbus_client_find_translation(ws_gui_app->dbus_data, tmp);
-                ws_gui_history_add(tmp, ws_gui_app);
+               
+       if (ws_gui_app->history_flag == FALSE && tmp != NULL)
+       {
+               //gtk_widget_show(ws_gui_app->ws_gui_banner_translation_loading);
+               ws_dbus_client_find_translation(ws_gui_app->dbus_data, tmp);
+               ws_gui_history_add(tmp, ws_gui_app);
+
                g_free(ws_gui_app->last_word);
                ws_gui_app->last_word = NULL;
                ws_gui_app->last_word = g_strdup (tmp);
-        }
-        
+               ws_gui_app->history_flag = FALSE;
+       }
+
+       g_signal_handlers_unblock_by_func(G_OBJECT(
+                                       ws_gui_app->ws_gui_w_list->ws_gui_view),
+                                        G_CALLBACK (ws_gui_view_cursor_changed), 
+                                       ws_gui_app);
+
+       g_free(tmp);
         return GTK_TREE_MODEL(ws_gui_app->ws_gui_w_list->ws_gui_store);
+       
 }
 
 /** create TreeView and TreeModel using create_and_fill_model() function;
@@ -960,45 +1261,6 @@ GtkWidget * create_view_and_model (GArray *words_list, gpointer user_data)
         return ws_gui_app->ws_gui_w_list->ws_gui_view;
 }
 
-/** handle signal from words list, get selected word and calls 
-'find translation' function
- *
- * @param selection - the object which received the signal
- * @param user_data - user data set when the signal handler was connected
- * @return 
- */
-void ws_gui_tree_selection_changed(GtkTreeSelection *selection,
-                                   gpointer user_data)
-{
-        WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
-        gchar *string;
-       ws_gui_app->ws_gui_w_list->ws_gui_selection = selection;
-
-        if (gtk_tree_selection_get_selected(selection,
-                                       &ws_gui_app->ws_gui_w_list->ws_gui_model,
-                                       &ws_gui_app->ws_gui_w_list->ws_gui_iter))
-        {
-                gtk_tree_model_get(ws_gui_app->ws_gui_w_list->ws_gui_model,
-                                   &ws_gui_app->ws_gui_w_list->ws_gui_iter,
-                                   COL_WORD,
-                                   &string,
-                                   -1);
-
-               ws_dbus_client_find_translation(ws_gui_app->dbus_data, string);
-               
-               g_free(ws_gui_app->last_word);
-               ws_gui_app->last_word = NULL;
-               ws_gui_app->last_word = g_strdup (string);
-               
-               
-               if (string != NULL && ws_gui_app->history_flag == FALSE)
-               {
-                       ws_gui_history_add(string, ws_gui_app);
-               }
-                g_free (string);
-        }
-}
-
 /** switch application between fun screen and normal mode
  *
  * @param menuitem - object which recived the signal
@@ -1057,7 +1319,8 @@ void ws_gui_popup_search(GtkMenuItem *menuitem, gpointer user_data)
                                       temp,
                                       NULL);
                 ws_dbus_client_find_word (ws_gui_app->dbus_data, temp);
-        }
+               //gtk_widget_hide(ws_gui_app->ws_gui_list_hbox);
+       }
         else
         {
                 hildon_banner_show_information(
@@ -1203,9 +1466,11 @@ void ws_gui_html_zoom_out(GtkMenuItem *menuitem, gpointer user_data)
 void ws_gui_search(GtkWidget * widget, gpointer user_data) 
 {
         WSGuiApp* ws_gui_app = (WSGuiApp*)user_data;
+       
+       ws_gui_app->stop_clicked = FALSE;
 
-        if (ws_gui_app->ws_gui_banner_flag == FALSE) 
-       {
+       // if (ws_gui_app->ws_gui_banner_flag == FALSE) 
+       //{
        gchar* ws_gui_text = NULL;
         g_object_get(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
                      "prefix",
@@ -1214,6 +1479,11 @@ void ws_gui_search(GtkWidget * widget, gpointer user_data)
 
        if (ws_gui_app->bookmark_mode == FALSE) 
        {
+               if (ws_gui_app->first_run == TRUE)
+               {
+                       ws_gui_app->first_run = FALSE;
+               }
+
                g_free(ws_gui_app->last_searched);
                ws_gui_app->last_searched = NULL;
                ws_gui_app->last_searched = g_strdup(ws_gui_text);
@@ -1228,20 +1498,18 @@ void ws_gui_search(GtkWidget * widget, gpointer user_data)
        g_strstrip(ws_gui_text);
                if (strlen(ws_gui_text) != 0) 
                {
-               gtk_widget_show(ws_gui_app->ws_gui_banner);
+               //gtk_widget_show(ws_gui_app->ws_gui_banner_list_searching);
                
-                gtk_widget_set_sensitive(
-                              GTK_WIDGET(ws_gui_app->ws_gui_toobar_button_stop),
-                              TRUE);
-                gtk_widget_set_sensitive(
-                          GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_stop),
-                          TRUE);
+                ws_gui_app->loading = TRUE;
+               ws_gui_set_toolbar_avail(ws_gui_app);
 
-                ws_gui_app->ws_gui_banner_flag = TRUE;
-                ws_gui_fill_html(" ", ws_gui_app);
-               ws_gui_app->html_flag = FALSE;
+               //ws_gui_app->ws_gui_banner_flag = TRUE;
+                //ws_gui_fill_html(" ", ws_gui_app);
+               //ws_gui_app->html_flag = FALSE;
                 ws_dbus_client_find_word (ws_gui_app->dbus_data, ws_gui_text);
-
+               //gtk_widget_hide(GTK_WIDGET(ws_gui_app->ws_gui_list_hbox));
+               
+               g_free(ws_gui_text);
                }
                else 
                {
@@ -1251,7 +1519,7 @@ void ws_gui_search(GtkWidget * widget, gpointer user_data)
         }
        g_free(ws_gui_app->last_word);
        ws_gui_app->last_word=NULL;
-       }
+       //}
 }
 
 /** stop search process
@@ -1263,13 +1531,19 @@ void ws_gui_search(GtkWidget * widget, gpointer user_data)
 void ws_gui_search_stop(GtkButton *button, gpointer user_data) 
 {
         WSGuiApp* ws_gui_app = (WSGuiApp *)user_data;
-        if (ws_gui_app->ws_gui_banner_flag == TRUE) 
+       ws_gui_app->stop_clicked = TRUE;
+       // if (ws_gui_app->ws_gui_banner_flag == TRUE || ws_gui_app->loading == TRUE) 
+       if (ws_gui_app->loading == TRUE) 
         {
-                gtk_widget_hide(GTK_WIDGET(ws_gui_app->ws_gui_banner));
-               ws_gui_app->ws_gui_banner_flag = FALSE;
+                //gtk_widget_hide(GTK_WIDGET(ws_gui_app->ws_gui_banner_list_searching));
+
+               ws_gui_app->loading = FALSE;
+               ws_gui_set_toolbar_avail(ws_gui_app);           
+
+               //ws_gui_app->ws_gui_banner_flag = FALSE;
+               
                 ws_dbus_notify(ws_gui_app->dbus_data, WS_DBUS_INFO_STOP_SEARCH);
-                gtk_infoprint(
-                              GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
+                gtk_infoprint(GTK_WINDOW(ws_gui_app->ws_gui_hildon_window),
                               _("ws_ni_search_aborted"));
         }
 }
@@ -1324,11 +1598,24 @@ void ws_gui_menu_quit(GtkMenuItem *menuitem, gpointer user_data)
 void ws_gui_fill_html(char *html_context, gpointer user_data) 
 {
        WSGuiApp* ws_gui_app = (WSGuiApp*)user_data;
-        gtk_html_set_editable (GTK_HTML(ws_gui_app->ws_gui_html), FALSE);
-
+       
+       gtk_html_set_editable (GTK_HTML(ws_gui_app->ws_gui_html), FALSE);
+       if (ws_gui_app->first_run == TRUE && ws_gui_app->bookmark_mode==FALSE)
+       {
+       gtk_html_load_from_string(GTK_HTML(ws_gui_app->ws_gui_html),
+                                  ws_gui_app->welcome_note,
+                                  -1);
+       g_object_set(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
+                                     "prefix",
+                                      "",
+                                      NULL);
+       }
+       else
+       {
         gtk_html_load_from_string(GTK_HTML(ws_gui_app->ws_gui_html),
                                   html_context,
                                   -1);
+       }
 }
 
 /** read adjustment of left scrollwindow, which is necessary to navigate with 
@@ -1559,6 +1846,7 @@ gchar * format_html (gchar * received_string, gpointer user_data)
        str_tmp = g_string_new(received_string);
         gchar * tmp;
        gchar * tmp2;
+       gchar * returned_value;
        
        ws_gui_app->raw_translation=g_string_erase(ws_gui_app->raw_translation, 
                                                   0, 
@@ -1572,7 +1860,7 @@ gchar * format_html (gchar * received_string, gpointer user_data)
                                            14);
                 str_final =  g_string_insert(str_final,
                  (long)(tmp - str_final->str),
-                 "<html><head></head><body><center><table width=\"400px\"><tr>"
+                 "<html><head></head><body><center><table width=\"95%\"><tr>"
                 "<td><table border=1 width=100%><tr>"
                 "<th background=\"file:/usr/share/pixmaps/ws_top.png\">"
                 "<img align=left src=\"file:/usr/share/pixmaps/"
@@ -1644,7 +1932,10 @@ gchar * format_html (gchar * received_string, gpointer user_data)
                                                0,
                                                str_tmp->str);
        
-       return str_final->str;
+       returned_value = g_strdup(str_final->str);
+       g_string_free(str_final, TRUE);
+       g_string_free(str_tmp, TRUE);
+       return returned_value;
 }
 
 /** open bookmarks database 
@@ -1659,6 +1950,8 @@ void ws_gui_dictionary_open_bookmark(GtkMenuItem *menuitem, gpointer user_data)
 
        ws_gui_read_active_dictionaries(ws_gui_app);
        
+       /*list has to be cleared if we're gonna use a completely different dict*/
+       ws_gui_clear_list(ws_gui_app->ws_gui_w_list->ws_gui_store, ws_gui_app);
        g_free(ws_gui_app->last_word);
        ws_gui_app->last_word = NULL;
 
@@ -1672,29 +1965,18 @@ void ws_gui_dictionary_open_bookmark(GtkMenuItem *menuitem, gpointer user_data)
        
        if(ws_gui_app->ws_gui_history->len >= 0)
        {
-       ws_gui_app->ws_gui_history = g_array_remove_range(
-                                       ws_gui_app->ws_gui_history, 
-                                       0,
-                                       ws_gui_app->ws_gui_history->len);
-       ws_gui_app->ws_gui_history_list = g_array_remove_range(
-                                       ws_gui_app->ws_gui_history_list, 
-                                       0, 
-                                       ws_gui_app->ws_gui_history_list->len);
-       ws_gui_app->ws_gui_history_iter = g_array_remove_range(
-                                       ws_gui_app->ws_gui_history_iter, 
-                                       0, 
-                                       ws_gui_app->ws_gui_history_iter->len);
-       
+       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_gui_fill_html(" ", ws_gui_app);
        ws_gui_app->html_flag = FALSE;
-       //ws_dbus_client_find_word(ws_gui_app->dbus_data, "*");
-       ws_gui_search(NULL, ws_gui_app);
+       ws_dbus_client_find_word(ws_gui_app->dbus_data, "*");
+       gtk_widget_hide(ws_gui_app->ws_gui_list_hbox);
        
+       ws_gui_search(NULL, ws_gui_app);
 }
 
 /** closes bookmarks database 
@@ -1718,25 +2000,17 @@ void ws_gui_dictionary_close_bookmark(GtkMenuItem *menuitem, gpointer user_data)
 
        if(ws_gui_app->ws_gui_history->len >= 0)
        {
-       ws_gui_app->ws_gui_history = g_array_remove_range(
-       ws_gui_app->ws_gui_history, 0, ws_gui_app->ws_gui_history->len);
-       ws_gui_app->ws_gui_history_list = g_array_remove_range(
-                                       ws_gui_app->ws_gui_history_list, 
-                                       0, 
-                                       ws_gui_app->ws_gui_history_list->len);
-       ws_gui_app->ws_gui_history_iter = g_array_remove_range(
-                                       ws_gui_app->ws_gui_history_iter, 
-                                       0, 
-                                       ws_gui_app->ws_gui_history_iter->len);
-
+       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_gui_fill_html(" ", ws_gui_app);
-       ws_gui_app->html_flag = FALSE;
-       g_strstrip(ws_gui_app->last_searched);
-       if (ws_gui_app->last_searched != NULL) 
+       ws_gui_app->html_flag = TRUE;
+       //g_strstrip(ws_gui_app->last_searched);
+       if (g_strstrip(ws_gui_app->last_searched) != NULL && ws_gui_app->first_run == FALSE) 
        {
        g_object_set(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
                                      "prefix",
@@ -1747,8 +2021,12 @@ void ws_gui_dictionary_close_bookmark(GtkMenuItem *menuitem, gpointer user_data)
        }
        else
        {
+               gtk_list_store_clear(ws_gui_app->ws_gui_w_list->ws_gui_store);
+       }
+/*     else if (ws_gui_app->first_run == FALSE) 
+       {
                g_object_set(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
-                                     "prefix",
+                                    "prefix",
                                       "\0",
                                       NULL);
                GArray *tmp;
@@ -1757,9 +2035,10 @@ void ws_gui_dictionary_close_bookmark(GtkMenuItem *menuitem, gpointer user_data)
                 ws_gui_app->ws_gui_w_list->ws_gui_model = 
                                        create_and_fill_model(tmp, ws_gui_app);
                
-               //ws_dbus_client_find_word(ws_gui_app->dbus_data, ws_gui_app->last_searched);
+               ws_dbus_client_find_word(ws_gui_app->dbus_data, ws_gui_app->last_searched);
+               gtk_widget_hide(ws_gui_app->ws_gui_list_hbox);
                ws_gui_search(NULL, ws_gui_app);        
-       }
+       }*/
 }
 
 /** adds bookmark to bookmarks database 
@@ -1775,7 +2054,7 @@ void ws_gui_dictionary_add_bookmark(GtkMenuItem *menuitem, gpointer user_data)
        if (ws_gui_app->last_word != NULL)
        {
                ws_gui_add_bookmark_dialog(ws_gui_app);
-       }
+       } 
        else
        {
                gtk_infoprint(
@@ -1799,12 +2078,14 @@ void ws_gui_dictionary_remove_bookmark(GtkMenuItem *menuitem,
        {
                ws_gui_remove_bookmark_dialog(ws_gui_app);
 
+               ws_gui_clear_list(ws_gui_app->ws_gui_w_list->ws_gui_store, ws_gui_app);
                gchar *temp;
                g_object_get(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
                                       "prefix",
                                       &temp,
                                       NULL);
                ws_dbus_client_find_word (ws_gui_app->dbus_data, temp);
+               //gtk_widget_hide(ws_gui_app->ws_gui_list_hbox);
                
        }
        else
@@ -1949,7 +2230,6 @@ void ws_gui_set_bookmarks_sensitivity(gpointer user_data)
                string = (gchar*)g_slist_nth_data(ws_gui_app->directories_last, 
                                                  i);
                
-               //string = g_strconcat(string, "/active", NULL);
                if (string != NULL)
                {
                gconf_client_set_bool(ws_gui_app->client, 
@@ -1975,7 +2255,10 @@ void ws_gui_set_bookmarks_sensitivity(gpointer user_data)
        gtk_widget_set_sensitive(
                GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_dictionaries),
                 TRUE);
+
+       g_free(bookmarks_path);
        }
+
 }
 
 /** sets sensitivity of menu items due to user selection made
@@ -1999,7 +2282,9 @@ void ws_gui_set_bookmark_menu_items(GtkMenuItem *menuitem, gpointer user_data)
                FALSE);
        }
 
-       if (ws_gui_app->last_word == NULL || ws_gui_app->bookmark_mode == TRUE)
+       if (ws_gui_app->last_word == NULL || 
+           (ws_gui_app->last_word[0] == '\0') ||
+           ws_gui_app->bookmark_mode == TRUE)
        {
               gtk_widget_set_sensitive(
               GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_add_bookmark),
@@ -2027,3 +2312,96 @@ void ws_gui_read_active_dictionaries(gpointer user_data)
                                              GCONF_PATH,
                                              NULL);
 }
+
+void ws_gui_clear_array(GArray *history)
+{
+       if(history->len >= 0)
+       {
+               history = g_array_remove_range(history, 0, history->len);
+       }
+}
+
+void ws_gui_view_cursor_changed(GtkTreeView *treeview, gpointer user_data)
+{
+       WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+       gchar *string;
+       if (gtk_tree_selection_get_selected(ws_gui_app->ws_gui_w_list->ws_gui_selection,
+                                       &ws_gui_app->ws_gui_w_list->ws_gui_model,
+                                       &ws_gui_app->ws_gui_w_list->ws_gui_iter))
+       {
+       gtk_tree_model_get(ws_gui_app->ws_gui_w_list->ws_gui_model,
+                                   &ws_gui_app->ws_gui_w_list->ws_gui_iter,
+                                   COL_WORD,
+                                   &string,
+                                  -1);
+       if (string != NULL)
+               {
+               //gtk_widget_show(ws_gui_app->ws_gui_banner_translation_loading);
+               ws_gui_app->loading = TRUE;
+               ws_gui_set_toolbar_avail(ws_gui_app);
+
+               ws_dbus_client_find_translation(ws_gui_app->dbus_data, string);
+               
+               
+               g_free(ws_gui_app->last_word);
+               ws_gui_app->last_word = NULL;
+               ws_gui_app->last_word = g_strdup (string);
+
+               if (ws_gui_app->history_flag == FALSE)
+               {
+                      ws_gui_history_add(string, ws_gui_app);
+               
+               }
+                g_free (string);
+               }
+               
+       }
+       
+       
+}
+
+void ws_gui_set_toolbar_avail(gpointer user_data) {
+       
+       WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+       
+       if (ws_gui_app->loading == TRUE)
+       {
+               gtk_widget_set_sensitive(
+                       GTK_WIDGET(ws_gui_app->ws_gui_toobar_button_stop),
+                       TRUE);
+       
+               gtk_widget_set_sensitive(
+                       GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_search),
+                       FALSE);
+
+       }
+       else 
+       {
+               gtk_widget_set_sensitive(
+                       GTK_WIDGET(ws_gui_app->ws_gui_toobar_button_stop),
+                       FALSE);
+       
+               gtk_widget_set_sensitive(
+                       GTK_WIDGET(ws_gui_app->ws_gui_menu->ws_gui_menu_search),
+                       TRUE);
+       }
+}
+
+void ws_refresh_search_results(gpointer user_data) {
+       
+       WSGuiApp* ws_gui_app=(WSGuiApp*)user_data;
+
+       //refreshing the words list and translation pane
+       gchar *temp;
+       g_object_get(G_OBJECT(ws_gui_app->ws_gui_hildon_find_toolbar),
+                               "prefix",
+                               &temp,
+                               NULL);
+       
+       if (ws_gui_app->first_run == FALSE)
+       {
+               ws_dbus_client_find_word (ws_gui_app->dbus_data, temp);
+       }
+       //gtk_widget_hide(ws_gui_app->ws_gui_list_hbox);
+       //-----------------------------------------------
+}