summaryrefslogtreecommitdiff
path: root/src/gui/save/LocalSaveActivity.h
blob: 47d3938d109aa1c3a8f7133f1428f24702d99d08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma once

#include "Activity.h"
#include "client/SaveFile.h"
#include "client/requestbroker/RequestListener.h"

namespace ui
{
	class Textbox;
}

class VideoBuffer;

class FileSavedCallback
{
public:
	FileSavedCallback() {}
	virtual  ~FileSavedCallback() {}
	virtual void FileSaved(SaveFile * file) {}
};

class LocalSaveActivity: public WindowActivity, public RequestListener
{
	SaveFile save;
	VideoBuffer * thumbnail;
	ui::Textbox * filenameField;
	class CancelAction;
	class SaveAction;
	friend class CancelAction;
	friend class SaveAction;
	FileSavedCallback * callback;
public:
	LocalSaveActivity(SaveFile save, FileSavedCallback * callback);
	void saveWrite(std::string finalFilename);
	virtual void Save();
	virtual void OnDraw();
	virtual void OnResponseReady(void * imagePtr, int identifier);
	virtual ~LocalSaveActivity();
};