summaryrefslogtreecommitdiff
path: root/plugins/WinterSpeak/src/DialogConfigEngine.h
blob: e103ec10032e6a1f209fed12e4772c89ec6d4104 (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
40
41
42
43
#pragma once

#include "MirandaDialog.h"
#include "ConfigDatabase.h"

class TextToSpeech;

class DialogConfigEngine : public MirandaDialog
{
	DialogConfigEngine& operator=(const DialogConfigEngine&);

public:
	DialogConfigEngine(ConfigDatabase &db);
	virtual ~DialogConfigEngine();

	//--------------------------------------------------------------------------
	// Description : process a dialog message
	// Return      : 0 - process ok
	//               1 - error
	//--------------------------------------------------------------------------
	static INT_PTR CALLBACK process(HWND window, UINT message, WPARAM wparam, LPARAM lparam);

private:
	void command(HWND window, int control);

	//--------------------------------------------------------------------------
	// Description : load/save setting to the miranda database
	//--------------------------------------------------------------------------
	void load(HWND window);
	void save(HWND window);

	//--------------------------------------------------------------------------
	// Description : update the voices combo box
	//--------------------------------------------------------------------------
	void updateVoices(HWND window);
	void getVoiceDesc(HWND window, VoiceDesc &desc);
	std::wstring getEngine(HWND window);
	bool createTts(HWND window);

	static DialogConfigEngine*  m_instance;
	ConfigDatabase&             m_db;
	std::auto_ptr<TextToSpeech> m_test_tts;
};