summaryrefslogtreecommitdiff
path: root/protocols/VKontakte/src/vk_options.h
blob: 7ffb0c1be0cc7429ba092330194e74bd8837d7ce (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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
/*
Copyright (c) 2013-24 Miranda NG team (https://miranda-ng.org)

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation version 2
of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#include "stdafx.h"
#pragma once

typedef CProtoDlgBase<CVkProto> CVkDlgBase;

////////////////////// Account page //////////////////////////////////////////

class CVkOptionAccountForm : public CVkDlgBase
{
	CCtrlEdit m_edtLogin;
	CCtrlEdit m_edtPassword;
	CCtrlHyperlink m_hlLink;
	CCtrlEdit m_edtGroupName;
	CCtrlCombo m_cbxVKLang;
	CCtrlCheck m_cbDelivery;
	CCtrlCheck m_cbLoadLastMessageOnMsgWindowsOpen;
	CCtrlCheck m_cbUseLocalTime;
	CCtrlCheck m_cbLoadOnlyFriends;
	CCtrlCombo m_cbxSyncHistory;
	CCtrlCombo m_cbxMarkAsRead;

	pass_ptrW m_pwszOldPass;
	ptrW m_pwszOldLogin;
	ptrW m_pwszOldGroup;

public:
	CVkOptionAccountForm(CVkProto *proto);
	bool OnInitDialog() override;
	bool OnApply() override;
};

////////////////////// Advanced page /////////////////////////////////////////

class CVkOptionAdvancedForm : public CVkDlgBase
{
	CCtrlCheck m_cbHideChats;
	CCtrlCheck m_cbSyncReadMessageStatusFromServer;
	CCtrlCheck m_cbMesAsUnread;

	CCtrlCheck m_cbForceInvisibleStatus;
	CCtrlEdit m_edtInvInterval;
	CCtrlSpin m_spInvInterval;

	CCtrlCheck m_cbSendVKLinksAsAttachments;
	CCtrlCheck m_cbLoadSentAttachments;
	CCtrlCheck m_cbPopupContactsMusic;

	CCtrlCheck m_cbReportAbuse;
	CCtrlCheck m_cbClearServerHistory;
	CCtrlCheck m_cbRemoveFromFrendlist;
	CCtrlCheck m_cbRemoveFromCList;

	CCtrlCheck m_cbMusicSendOff;
	CCtrlCheck m_cbMusicSendBroadcastAndStatus;
	CCtrlCheck m_cbSendMetodBroadcast;
	CCtrlCheck m_cbMusicSendStatus;

public:
	CVkOptionAdvancedForm(CVkProto  *proto);
	bool OnInitDialog() override;
	bool OnApply() override;
	void On_cbForceInvisibleStatusChange(CCtrlCheck*);
	void On_cbSendVKLinksAsAttachmentsChange(CCtrlCheck*);
};

////////////////////// News and notifications ////////////////////////////////

class CVkOptionFeedsForm : public CVkDlgBase
{
	CCtrlCheck m_cbNewsEnabled;

	CCtrlEdit m_edtNewsInterval;
	CCtrlSpin m_spNewsInterval;

	CCtrlCheck m_cbNotificationsEnabled;

	CCtrlEdit m_edtNotificationsInterval;
	CCtrlSpin m_spNotificationsInterval;

	CCtrlCheck m_cbNotificationsMarkAsViewed;
	CCtrlCheck m_cbSpecialContactAlwaysEnabled;
	CCtrlCheck m_cbNewsAutoClearHistory;

	CCtrlCheck m_cbNewsFilterPosts;
	CCtrlCheck m_cbNewsFilterPhotos;
	CCtrlCheck m_cbNewsFilterTags;
	CCtrlCheck m_cbNewsFilterWallPhotos;

	CCtrlCheck m_cbNewsSourceFriends;
	CCtrlCheck m_cbNewsSourceGroups;
	CCtrlCheck m_cbNewsSourcePages;
	CCtrlCheck m_cbNewsSourceFollowing;
	CCtrlCheck m_cbNewsSourceIncludeBanned;
	CCtrlCheck m_cbNewsSourceNoReposts;

	CCtrlCheck m_cbNotificationFilterComments;
	CCtrlCheck m_cbNotificationFilterLikes;
	CCtrlCheck m_cbNotificationFilterReposts;
	CCtrlCheck m_cbNotificationFilterMentions;
	CCtrlCheck m_cbNotificationFilterInvites;
	CCtrlCheck m_cbNotificationFilterAcceptedFriends;

public:
	CVkOptionFeedsForm(CVkProto *proto);

	bool OnInitDialog() override;

	void On_cbNewsEnabledChange(CCtrlCheck*);
	void On_cbNotificationsEnabledChange(CCtrlCheck*);
};

////////////////////// View page /////////////////////////////////////////////

class CVkOptionViewForm : public CVkDlgBase
{
	CCtrlCheck m_cbBBCSupportForNewStory;
	CCtrlCheck m_cbIMGBBCSupportOff;
	CCtrlCheck m_cbIMGBBCSupportFullSize;
	CCtrlCheck m_cbIMGBBCSupport130;
	CCtrlCheck m_cbIMGBBCSupport604;
	CCtrlCheck m_cbIMGBBCSupport300;

	CCtrlCheck m_cbBBCForNewsOff;
	CCtrlCheck m_cbBBCForNewsBasic;
	CCtrlCheck m_cbBBCForNewsAdvanced;

	CCtrlCheck m_cbUseBBCOnAttacmentsAsNews;

	CCtrlCheck m_cbBBCForAttachmentsOff;
	CCtrlCheck m_cbBBCForAttachmentsBasic;
	CCtrlCheck m_cbBBCForAttachmentsAdvanced;

	CCtrlCheck m_cbStikersAsSmyles;
	CCtrlCheck m_cbShortenLinksForAudio;
	CCtrlCheck m_cbAddMessageLinkToMesWAtt;
	CCtrlCheck m_cbUseNonStandardNotifications;
	CCtrlCheck m_cbShowBeforeEditedPostVersion;

public:
	CVkOptionViewForm(CVkProto *proto);
	bool OnInitDialog() override;
	bool OnApply() override;
	void On_cbBBCSupportForNewStory(CCtrlCheck*);
};

////////////////////// Menu page /////////////////////////////////////////////

class CVkOptionMenuForm : public CVkDlgBase
{
	CCtrlCheck m_cbMenuEnabled0;
	CCtrlCheck m_cbMenuEnabled1;
	CCtrlCheck m_cbMenuEnabled2;
	CCtrlCheck m_cbMenuEnabled3;
	CCtrlCheck m_cbMenuEnabled4;
	CCtrlCheck m_cbMenuEnabled5;
	CCtrlCheck m_cbMenuEnabled6;

public:
	CVkOptionMenuForm(CVkProto *proto);
	bool OnApply() override;
};