Index: AE/Installer/trunk/source/main.cpp
===================================================================
--- AE/Installer/trunk/source/main.cpp	(revision 331)
+++ AE/Installer/trunk/source/main.cpp	(revision 353)
@@ -1,4 +1,4 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        main.cpp
+// Name:        aeinstallerapp.cpp
 // Purpose:     
 // Author:      
@@ -25,4 +25,5 @@
 
 #include "main.h"
+#include <string>
 
 ////@begin XPM images
@@ -74,6 +75,6 @@
 void AEInstallerApp::Init()
 {
-////@begin AEInstallerApp member initialisation
-////@end AEInstallerApp member initialisation
+	////@begin AEInstallerApp member initialisation
+	////@end AEInstallerApp member initialisation
 }
 
@@ -81,11 +82,11 @@
  * Initialisation for AEInstallerApp
  */
-
+MainWindow* TheWindow;
 bool AEInstallerApp::OnInit()
 {    
-////@begin AEInstallerApp initialisation
+	////@begin AEInstallerApp initialisation
 	// Remove the comment markers above and below this block
 	// to make permanent changes to the code.
-
+	
 #if wxUSE_XPM
 	wxImage::AddHandler(new wxXPMHandler);
@@ -102,7 +103,35 @@
 	MainWindow* mainWindow = new MainWindow( NULL );
 	mainWindow->Show(true);
-////@end AEInstallerApp initialisation
+	////@end AEInstallerApp initialisation
+	TheWindow = mainWindow;
+	
+	return true;
+}
 
-    return true;
+
+void setStatusArea( string s ) {
+	wxString wxs(s.c_str(), wxConvUTF8);
+	
+	TheWindow->StatusArea->SetStatusText(  wxs );
+	//TheWindow->StatusArea->SetStatusText(s.c_str());
+	//StatusArea->SetStatusText(_(s.c_str()));
+	//(*TheStatusBar)->SetStatusText(_(s.c_str()));
+	//AEInstallerApp::
+	//	TheWindow->StatusArea->SetStatusText("hi");
+	//mainWindow
+	//itemFrame1->StatusArea->SetStatusText(_"lol");
+	//MainWindow.StatusArea->SetStatusText("hi");
+	// class AbstractStatusNotifier { public: virtual void NotifyStatus(const wxString &statusString) = 0; };
+	//class StatusBarStatusNotifier : public AbstractStatusNotifier { wxStatusBar *statusbar; StatusBarStatusNotifier(wxStatusBar *bar) : statusbar(bar) { } ;
+	//void NotifyStatus(const wxString &status) { statusbar->SetStatus(status); } }
+	
+	
+	//MainWindow::StatusArea->
+	//MainWindow::MainWindow().SetSize(MainWindow::MainWindow().GetRect().GetWidth(), MainWindow::MainWindow().GetRect().GetHeight()+1);
+	
+	//MainWindow::StatusBar->SetLabel("Importing Files...");
+	//StatusBar->SetLabel(s);
+	//->SetLabel(s);
+	
 }
 
@@ -114,7 +143,7 @@
 int AEInstallerApp::OnExit()
 {    
-////@begin AEInstallerApp cleanup
+	////@begin AEInstallerApp cleanup
 	return wxApp::OnExit();
-////@end AEInstallerApp cleanup
+	////@end AEInstallerApp cleanup
 }
 
Index: AE/Installer/trunk/source/main_window.cpp
===================================================================
--- AE/Installer/trunk/source/main_window.cpp	(revision 331)
+++ AE/Installer/trunk/source/main_window.cpp	(revision 353)
@@ -1,7 +1,10 @@
 /*
  AE/Mod Installer
- v1.0
  by Gumby and Iritscen
  */
+
+// To-do: - Disable Install button when nothing (new) is selected
+//		  - Institute lots of checks into file-handling
+//		  - Clear mod info fields when mod is de-selected
 
 #define DEBUG
@@ -43,4 +46,5 @@
 const char* strClsCmd = "clear";
 const char* strPauseCmd = "read -n 1 -p \"Press any key to continue\"";
+void Sleep(int ms) { sleep( ms / 1000 ); }
 #endif
 
@@ -779,7 +783,6 @@
 	setProgressBar(1000);
 	setStatusArea("Done!");
-	sleep(1000);
+	Sleep(1000);
 	setProgressBar(0);
-	
 }
 
@@ -1033,5 +1036,5 @@
  * Control creation for MainWindow
  */
-wxStatusBar* TheStatusBar;
+wxStatusBar **TheStatusBar;
 wxButton* TheInstallButton;
 wxGauge* TheProgressBar;
@@ -1219,5 +1222,5 @@
 			if( binary_search(globalInstalledMods.begin(), globalInstalledMods.end(), globalPackages[i].modStringName ) ) Mods_CheckboxList->Check(i);
 	}
-		TheStatusBar = StatusArea;
+		TheStatusBar = &StatusArea;
 		TheInstallButton = InstallButton;
 		TheProgressBar = ProgressBar;
@@ -1343,5 +1346,5 @@
 	descriptionText->SetValue(globalPackages[event.GetSelection()].readme.c_str());
 
-	creatorText->Refresh();
+	//creatorText->Refresh();
 }
 
@@ -1425,14 +1428,21 @@
 	//	boost::thread thrd2(recompileAll(localPackages) );
 		//MainWindow::MainWindow().Show();
-    recompile packages(localPackages);
-    boost::thread thrd(packages);
-
-	}
-	
-	
-}
-
-void setStatusArea( string s ) {
-	TheStatusBar->SetStatusText(_(s.c_str()));
+#ifdef WIN32
+		recompile packages(localPackages);
+		boost::thread thrd(packages);
+#else
+		this->Disable();
+		recompileAll(localPackages);
+		this->Enable();
+#endif
+
+	}
+	
+	
+}
+
+/*void setStatusArea( string s ) {
+	//TheStatusBar = MainWindow::StatusArea;
+	(**TheStatusBar).SetStatusText(_(s.c_str()), 0);
 	
 		//MainWindow::MainWindow().SetSize(MainWindow::MainWindow().GetRect().GetWidth(), MainWindow::MainWindow().GetRect().GetHeight()+1);
@@ -1442,5 +1452,5 @@
 //->SetLabel(s);
 	
-}
+}*/
 
 void setProgressBar( int i ) {
