summaryrefslogtreecommitdiff
path: root/src/frontend/displaywindow/clexiconreadwindow.h
blob: 45e9ceb434c01e89f35a74dfdb50b27cedf498a4 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
/*********
*
* This file is part of BibleTime's source code, http://www.bibletime.info/.
*
* Copyright 1999-2009 by the BibleTime developers.
* The BibleTime source code is licensed under the GNU General Public License version 2.0.
*
**********/


#ifndef CLEXICONREADWINDOW_H
#define CLEXICONREADWINDOW_H

//BibleTime includes
#include "creadwindow.h"
#include "frontend/keychooser/ckeychooser.h"
class BtToolBarPopupAction;
class CSwordKey;
class CSwordLDKey;
class BtActionCollection;
class QAction;
class QMenu;

/**
  *@author The BibleTime team
  */

class CLexiconReadWindow : public CReadWindow  {
	Q_OBJECT
public:
	CLexiconReadWindow(QList<CSwordModuleInfo*> modules, CMDIArea* parent);
	virtual ~CLexiconReadWindow();
	/**
	* Store the settings of this window in the given CProfileWindow object.
	*/
	//   virtual void storeProfileSettings( CProfileWindow* profileWindow );
	/**
	* Store the settings of this window in the given profile window.
	*/
	//   virtual void applyProfileSettings( CProfileWindow* profileWindow );
	/**
	* Reimplementation.
	*/
	//   static void insertKeyboardActions( KAccel* a );
	static void insertKeyboardActions( BtActionCollection* const a );

public slots:
	/**
	* Refreshes the content of this display window and the content of the keychooser.
	*/
	virtual void reload(CSwordBackend::SetupChangedReason reason);

protected:
	virtual void initActions();
	virtual void initToolbars();
	virtual void initConnections();
	virtual void initView();
	virtual void updatePopupMenu();
	virtual void setupPopupMenu();


	struct ActionsStruct {
		BtToolBarPopupAction* backInHistory;
		BtToolBarPopupAction* forwardInHistory;

		QAction* selectAll;
		QAction* findText;
		QAction* findStrongs;

		QMenu* copyMenu;
		struct {
			QAction* reference;
			QAction* entry;
			QAction* selectedText;
		}
		copy;

		QMenu* saveMenu;
		struct {
			QAction* reference;
			QAction* entryAsPlain;
			QAction* entryAsHTML;
		}
		save;

		QMenu* printMenu;
		struct {
			QAction* reference;
			QAction* entry;
		}
		print;
	}
	m_actions;

private:
	/**
	* Reimplementation to return the right key.
	*/
	CSwordLDKey* ldKey();

protected slots: // Protected slots
	void previousEntry();
	void nextEntry();
	/**
	* This function saves the entry as html using the CExportMgr class.
	*/
	void saveAsHTML();
	/**
	* This function saves the entry as plain text using the CExportMgr class.
	*/
	void saveAsPlain();
	void saveRawHTML();

	void slotFillBackHistory();
	void slotFillForwardHistory();

	void slotUpdateHistoryButtons(bool backEnabled, bool fwEnabled);
};

#endif