void
BeNetWindow::MessageReceived(BMessage* msg)
{
	switch (msg->what)
	{
		case MSG_SOUNDCONTROLS_VOLUME:
			Preferences::Instance()->RecordVolume(m_pSoundControlsView->Volume());
			m_pRecorder->SetRecVolume(((float)Preferences::Instance()->RecordVolume()/(float)100));
			break;
		case MSG_SOUNDCONTROLS_MUTE:
			if(m_pSoundControlsView->IsMute())
				m_pRecorder->StopRecording();
			else
//				m_pRecorder->Record();
				m_pRecorder->StartRecording();
			break;
		case MSG_MENU_EXIT:				// QuitRequested(); OliverESP: This will make be called twice in Zeta hmmmmmmm
										be_app_messenger.SendMessage(B_QUIT_REQUESTED);
										break;
		case MSG_MENU_TOOLBAR:			ToggleToolBar(); break; 
		case MSG_MENU_STATUSBAR:		ToggleStatusBar(); break; 
		case MSG_MENU_ABOUT:			ShowWindow(m_pAboutWindow); break;
		case MSG_MENU_OUTPUTWINDOW:		ShowWindow(Output::Instance()); break; 
		case MSG_MENU_PREFERENCES:		ShowWindow(m_pPreferencesWindow); break; 
		//case MSG_MENU_BOOKMARKS:		ShowWindow(m_pBookmarksWindow); break; 
		case MSG_MENU_MAILIP:			ShowMailIPWindow(); break; 
		case MSG_MENU_HELP:				LaunchHelp(); break; 
		case MENU_BOOKMARKS:			m_pConnectView->MessageReceived(msg); break;
		case MSG_MENU_CONNECT:			Connect(); break;
		case MSG_MENU_ACCEPT:			Accept(); break;
		case MSG_MENU_DISCONNECT:		Disconnect(); break; 
		case MSG_MENU_TERMINATE:		Terminate(); break; 
		case MSG_MENU_ONLINE:			GoOnline(); break; 
		case MSG_MENU_OFFLINE:			GoOffline(); break;
		
		case MSG_NOT_CONNECTED:			ToggleConection(false); // we receive this from the connectionView and this from the network 
										EnableActions(true);
										break; //OliverESP
		
		default:						BWindow::MessageReceived(msg); break;	 
	}
}
void PaintMainWindow::CreateMenuBar() {
	
	//Create File Menu
	//File Menu Begin
	QPopupMenu* file = new QPopupMenu(this);
	
	//Create Image Section
	file->insertItem("&New image", this, SLOT(OnNewImage()), CTRL+Key_N);
	file->insertItem("&Load image", this, SLOT(OnLoadImage()), CTRL+Key_O);
	file->insertItem("&Save image", this, SLOT(OnSaveImage()), CTRL+Key_S);
	file->insertSeparator();
	
	//Create Color Section
	file->insertItem("&Foreground color", this, SLOT(ChangeFGColor()));
	file->insertItem("&Background color", this, SLOT(ChangeBGColor()));
	file->insertSeparator();
	
	//Create Exit Section
	file->insertItem("&Exit", this, SLOT(OnExit()), CTRL+Key_X);	
	
	//Insert File Menu
	menuBar()->insertItem("&File", file);
	//File Menu End
	
	//Create Edit Menu
	//Edit Menu Begin
	QPopupMenu* edit = new QPopupMenu(this);
	
	//Create Edit items
	edit->insertItem("&Undo", canvas, SLOT(undo()), CTRL+Key_Z);
	edit->insertItem("&Redo", canvas, SLOT(redo()), CTRL+Key_Y);
	edit->insertItem("&Clear All", canvas, SLOT(clearAll()));
	edit->insertItem("Re&size", this, SLOT(OnResizeImage()), CTRL+Key_R);
	
	//Insert Edit Menu
	menuBar()->insertItem("&Edit", edit);
	//Edit Menu End
	
	//Create View Menu
	//View Menu Begin
	QPopupMenu* view = new QPopupMenu(this);
	
	//Create ToolBar toggler
	QAction *ToolBar_t = new QAction("&Tool Bar", 0, this);
	QObject::connect(ToolBar_t, SIGNAL(activated()),
		this, SLOT(ToggleToolBar()));
	//Set ToolBar toggler to be checkable
	ToolBar_t->setToggleAction(true);
	ToolBar_t->setOn(true);
	ToolBar_t->addTo(view);
	//Connect ToolBar state to ToolBar toggler
	QObject::connect(tools, SIGNAL(visibilityChanged(bool)), 
		ToolBar_t, SLOT(toggle()));
	
	
	//Insert View Menu
	menuBar()->insertItem("&View", view);
	//View Menu End
	
	//Create Help Menu
	//Help Menu Begin
	QPopupMenu* help = new QPopupMenu(this);
	
	//Create Help items
	help->insertItem("&About", this, SLOT(ShowAbout()));
	
	//Insert Help Menu
	menuBar()->insertItem("&Help", help);
	//Help Menu End
}