=== modified file 'Src/DasherCore/DasherInterfaceBase.cpp'
--- Src/DasherCore/DasherInterfaceBase.cpp	2008-03-22 14:41:38 +0000
+++ Src/DasherCore/DasherInterfaceBase.cpp	2008-04-22 02:52:48 +0000
@@ -1210,3 +1210,8 @@
     m_pNCManager->ImportTrainingText(strPath);
 }
 
+void 
+CDasherInterfaceBase::LearnText(const std::string &strPath) {
+  if(m_pNCManager)
+    m_pNCManager->LearnText(strPath);
+}
\ No newline at end of file

=== modified file 'Src/DasherCore/DasherInterfaceBase.h'
--- Src/DasherCore/DasherInterfaceBase.h	2008-03-22 14:41:38 +0000
+++ Src/DasherCore/DasherInterfaceBase.h	2008-04-22 02:52:47 +0000
@@ -367,7 +367,7 @@
   const char* ClSet(const std::string &strKey, const std::string &strValue);
 
   void ImportTrainingText(const std::string &strPath);
-
+  void LearnText(const std::string &strPath);
 protected:
 
   /// @name Startup

=== modified file 'Src/Gtk2/GtkDasherControl.cpp'
--- Src/Gtk2/GtkDasherControl.cpp	2008-03-22 14:41:38 +0000
+++ Src/Gtk2/GtkDasherControl.cpp	2008-04-22 02:53:05 +0000
@@ -206,6 +206,12 @@
 };
 
 void 
+gtk_dasher_control_train(GtkDasherControl *pControl, const gchar *szFilename) {
+  GtkDasherControlPrivate *pPrivate = GTK_DASHER_CONTROL_GET_PRIVATE(pControl);
+  pPrivate->pControl->LearnText(szFilename);
+};
+
+void 
 gtk_dasher_control_set_context(GtkDasherControl *pControl, const gchar *szContext) {
   GtkDasherControlPrivate *pPrivate = GTK_DASHER_CONTROL_GET_PRIVATE(pControl);
   pPrivate->pControl->SetContext(szContext);

=== modified file 'Src/Gtk2/dasher_main.cpp'
--- Src/Gtk2/dasher_main.cpp	2008-04-22 01:40:36 +0000
+++ Src/Gtk2/dasher_main.cpp	2008-04-22 02:35:52 +0000
@@ -1042,7 +1042,7 @@
 static void 
 dasher_main_command_import(DasherMain *pSelf) {
   DasherMainPrivate *pPrivate = DASHER_MAIN_GET_PRIVATE(pSelf);
-
+	 GtkWidget *pDialogue = NULL;
   GtkWidget *pFileSel = gtk_file_chooser_dialog_new(_("Select File"), 
 						    GTK_WINDOW(pPrivate->pMainWindow), 
 						    GTK_FILE_CHOOSER_ACTION_OPEN, 
@@ -1062,7 +1062,31 @@
     gchar *szFilename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(pFileSel));
 #endif
 
-    gtk_dasher_control_train(GTK_DASHER_CONTROL(pPrivate->pDasherWidget), szFilename);
+ pDialogue = gtk_message_dialog_new(GTK_WINDOW(pPrivate->pMainWindow), GTK_DIALOG_MODAL, 
+					 GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, 
+					 _("Do you want to learn this text permanently?."));
+
+gtk_dialog_add_buttons(GTK_DIALOG(pDialogue), 
+			   _("No, Just this once"), GTK_RESPONSE_REJECT,
+			   _("Don't import anything"), GTK_RESPONSE_CANCEL, 
+			   _("Yes"), GTK_RESPONSE_ACCEPT, 
+			   NULL);
+
+    switch (gtk_dialog_run(GTK_DIALOG(pDialogue))) {
+    case GTK_RESPONSE_REJECT:
+     gtk_dasher_control_train(GTK_DASHER_CONTROL(pPrivate->pDasherWidget), szFilename);
+      break;
+    case GTK_RESPONSE_CANCEL:
+      gtk_widget_destroy(GTK_WIDGET(pDialogue));
+      break;
+    case GTK_RESPONSE_ACCEPT:
+      gtk_widget_destroy(GTK_WIDGET(pDialogue));
+      //      write_to_file(); // FIXME - REIMPLEMENT
+      //      save_file_and_quit(NULL, NULL);
+    }
+  }
+
+
 
     g_free(szFilename);
   }

