Provide (experimental) clang-format file
[TortoiseGit.git] / src / TortoiseProc / GravatarPictureBox.h
blob0b9d44677f232aa06db37ecb54193aad5f9f857b
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2013, 2016-2017 - TortoiseGit
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19 #pragma once
20 #include <WinInet.h>
22 class CGravatar : public CStatic
24 public:
25 CGravatar();
26 virtual ~CGravatar();
27 void Init();
28 bool IsGravatarEnabled() const { return m_bEnableGravatar; }
29 void EnableGravatar(bool value) { m_bEnableGravatar = value; }
30 void LoadGravatar(CString email = L"");
32 private:
33 void GravatarThread();
34 void SafeTerminateGravatarThread();
35 afx_msg void OnPaint();
36 int DownloadToFile(bool* gravatarExit, const HINTERNET hConnectHandle, bool isHttps, const CString& urlpath, const CString& dest);
38 bool m_bEnableGravatar;
39 CString m_filename;
40 CString m_email;
41 HANDLE m_gravatarEvent;
42 CWinThread* m_gravatarThread;
43 bool* m_gravatarExit;
44 CComCriticalSection m_gravatarLock;
46 DECLARE_MESSAGE_MAP();