summaryrefslogtreecommitdiff
path: root/src/save/LocalSaveActivity.h
blob: aacbc0b671d4eedbbd578a4596fc86838252472d (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/ThumbnailListener.h"

namespace ui
{
	class Textbox;
}

class Thumbnail;

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

class LocalSaveActivity: public WindowActivity, public ThumbnailListener
{
	SaveFile save;
	Thumbnail * 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 OnThumbnailReady(Thumbnail * thumbnail);
	virtual ~LocalSaveActivity();
};