Installer, start and exit enhancements

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@762 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2010-08-01 15:33:03 +00:00
commit 49ac48a6e8
5 changed files with 175 additions and 148 deletions

View file

@ -57,7 +57,6 @@ namespace Greenshot.Forms {
private Rectangle captureRect = Rectangle.Empty;
private ICapture capture = null;
private AppConfig conf = AppConfig.GetInstance();
private CopyData copyData = null;
private ILanguage lang = Language.GetInstance();
public CaptureForm() {
@ -65,56 +64,11 @@ namespace Greenshot.Forms {
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
// Create a new instance of the class: copyData = new CopyData();
copyData = new CopyData();
// Assign the handle:
copyData.AssignHandle(this.Handle);
// Create the channel to send on:
copyData.Channels.Add("Greenshot");
// Hook up received event:
copyData.DataReceived += new DataReceivedEventHandler(CopyDataDataReceived);
// Make sure the form is hidden (might be overdoing it...)
this.Hide();
}
/// <summary>
/// DataReceivedEventHandler
/// </summary>
/// <param name="sender"></param>
/// <param name="dataReceivedEventArgs"></param>
private void CopyDataDataReceived(object sender, DataReceivedEventArgs dataReceivedEventArgs) {
// Cast the data to the type of object we sent:
DataTransport dataTransport = (DataTransport)dataReceivedEventArgs.Data;
HandleDataTransport(dataTransport);
}
public void HandleDataTransport(DataTransport dataTransport) {
LOG.Debug("Data received, Command = " + dataTransport.Command + ", Data: " + dataTransport.CommandData);
switch(dataTransport.Command) {
case CommandEnum.Exit:
MainForm.instance.exit();
break;
case CommandEnum.ReloadConfig:
AppConfig.Reload();
// Even update language when needed
MainForm.instance.UpdateUI();
break;
case CommandEnum.OpenFile:
string filename = dataTransport.CommandData;
if (File.Exists(filename)) {
MakeCapture(filename);
} else {
LOG.Warn("No such file: " + filename);
}
break;
default:
LOG.Error("Unknown command!");
break;
}
}
void DoCaptureFeedback() {
if((bool)conf.Ui_Effects_CameraSound) {
SoundHelper.Play();