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

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

class TextToSpeech;

class DialogConfigEngine : public MirandaDialog
{
  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;
};