1 #pragma once
2 
3 #include "gui/windows/configuration-window.h"
4 #include "os/generic/compositing-aware-object.h"
5 #include "exports.h"
6 
7 #include <QtCore/QPointer>
8 #include <injeqt/injeqt.h>
9 
10 class QCheckBox;
11 class QLineEdit;
12 class QSlider;
13 
14 class AccountManager;
15 class BuddyListBackgroundColorsWidget;
16 class ConfigComboBox;
17 class ConfigLineEdit;
18 class ConfigurationUiHandlerRepository;
19 class IconsManager;
20 class IconThemeManager;
21 class KaduWindowService;
22 class LanguagesManager;
23 class PathsProvider;
24 class PluginListWidget;
25 class Preview;
26 class SyntaxEditorWindow;
27 
28 class MainConfigurationWindow;
29 
30 class ConfigurationUiHandler;
31 
32 /**
33 	@class MainConfigurationWindow
34 	@author Vogel
35 	@short G��wne okno konfiguracyjne.
36  **/
37 class KADUAPI MainConfigurationWindow : public ConfigurationWindow, CompositingAwareObject
38 {
39 	Q_OBJECT
40 
41 	QPointer<AccountManager> m_accountManager;
42 	QPointer<ConfigurationUiHandlerRepository> m_configurationUiHandlerRepository;
43 	QPointer<IconsManager> m_iconsManager;
44 	QPointer<IconThemeManager> m_iconThemeManager;
45 	QPointer<KaduWindowService> m_kaduWindowService;
46 	QPointer<LanguagesManager> m_languagesManager;
47 	QPointer<PathsProvider> m_pathsProvider;
48 
49 	QPointer<ConfigurationWindow> lookChatAdvanced;
50 
51 	QCheckBox *onStartupSetLastDescription;
52 	QLineEdit *onStartupSetDescription;
53 	QCheckBox *userboxTransparency;
54 	QLineEdit *disconnectDescription;
55 	QSlider *userboxAlpha;
56 	QCheckBox *userboxBlur;
57 	BuddyListBackgroundColorsWidget *buddyColors;
58 	PluginListWidget *PluginList;
59 
60 	void setLanguages();
61 
62 	virtual void compositingEnabled();
63 	virtual void compositingDisabled();
64 
65 private slots:
66 	INJEQT_SET void setAccountManager(AccountManager *accountManager);
67 	INJEQT_SET void setConfigurationUiHandlerRepository(ConfigurationUiHandlerRepository *configurationUiHandlerRepository);
68 	INJEQT_SET void setIconsManager(IconsManager *iconsManager);
69 	INJEQT_SET void setIconThemeManager(IconThemeManager *iconThemeManager);
70 	INJEQT_SET void setKaduWindowService(KaduWindowService *kaduWindowService);
71 	INJEQT_SET void setLanguagesManager(LanguagesManager *languagesManager);
72 	INJEQT_SET void setPathsProvider(PathsProvider *pathsProvider);
73 	INJEQT_INIT void init();
74 
75 	void onChangeStartupStatus(int index);
76 	void onChangeStartupDescription(int index);
77 	void onChangeShutdownStatus(int index);
78 	void showLookChatAdvanced();
79 	void installIconTheme();
80 	void setIconThemes();
81 	void applied();
82 	void configurationUiHandlerAdded(ConfigurationUiHandler *configurationUiHandler);
83 	void configurationUiHandlerRemoved(ConfigurationUiHandler *configurationUiHandler);
84 
85 public:
86 	static const char *SyntaxText;
87 	static const char *SyntaxTextNotify;
88 
89 	explicit MainConfigurationWindow(ConfigurationWindowDataManager *dataManager, QWidget *parent);
90 	virtual ~MainConfigurationWindow();
91 
92 	virtual void show();
93 
94 };
95