mirror of
https://github.com/Chatterino/chatterino2.git
synced 2024-11-21 22:24:07 +01:00
hide user profile avatar if obs is running
This commit is contained in:
parent
515657be19
commit
9739d8d9c3
4 changed files with 69 additions and 1 deletions
|
@ -219,6 +219,7 @@ SOURCES += \
|
|||
src/util/JsonQuery.cpp \
|
||||
src/util/RapidjsonHelpers.cpp \
|
||||
src/util/StreamLink.cpp \
|
||||
src/util/StreamerMode.cpp \
|
||||
src/util/Twitch.cpp \
|
||||
src/util/NuulsUploader.cpp \
|
||||
src/util/WindowsHelper.cpp \
|
||||
|
@ -435,6 +436,7 @@ HEADERS += \
|
|||
src/util/PostToThread.hpp \
|
||||
src/util/QObjectRef.hpp \
|
||||
src/util/QStringHash.hpp \
|
||||
src/util/StreamerMode.hpp \
|
||||
src/util/Twitch.hpp \
|
||||
src/util/rangealgorithm.hpp \
|
||||
src/util/RapidjsonHelpers.hpp \
|
||||
|
|
54
src/util/StreamerMode.cpp
Normal file
54
src/util/StreamerMode.cpp
Normal file
|
@ -0,0 +1,54 @@
|
|||
#include "StreamerMode.hpp"
|
||||
|
||||
#ifdef USEWINSDK
|
||||
# include <Windows.h>
|
||||
|
||||
# include <VersionHelpers.h>
|
||||
# include <WtsApi32.h>
|
||||
# pragma comment(lib, "Wtsapi32.lib")
|
||||
#endif
|
||||
|
||||
namespace chatterino {
|
||||
|
||||
const QStringList &broadcastingBinaries()
|
||||
{
|
||||
#ifdef USEWINSDK
|
||||
static QStringList bins = {"obs.exe", "obs64.exe"};
|
||||
#else
|
||||
static QStringList bins = {};
|
||||
#endif
|
||||
return bins;
|
||||
}
|
||||
|
||||
bool isInStreamerMode()
|
||||
{
|
||||
#ifdef USEWINSDK
|
||||
if (IsWindowsVistaOrGreater())
|
||||
{
|
||||
WTS_PROCESS_INFO *pWPIs = nullptr;
|
||||
DWORD dwProcCount = 0;
|
||||
|
||||
if (WTSEnumerateProcesses(WTS_CURRENT_SERVER_HANDLE, NULL, 1, &pWPIs,
|
||||
&dwProcCount))
|
||||
{
|
||||
//Go through all processes retrieved
|
||||
for (DWORD i = 0; i < dwProcCount; i++)
|
||||
{
|
||||
QString processName = QString::fromUtf16(
|
||||
reinterpret_cast<char16_t *>(pWPIs[i].pProcessName));
|
||||
qDebug() << processName;
|
||||
|
||||
if (broadcastingBinaries().contains(processName))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pWPIs)
|
||||
WTSFreeMemory(pWPIs);
|
||||
}
|
||||
#endif
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace chatterino
|
8
src/util/StreamerMode.hpp
Normal file
8
src/util/StreamerMode.hpp
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
namespace chatterino {
|
||||
|
||||
const QStringList &broadcastingBinaries();
|
||||
bool isInStreamerMode();
|
||||
|
||||
} // namespace chatterino
|
|
@ -14,6 +14,7 @@
|
|||
#include "util/LayoutCreator.hpp"
|
||||
#include "util/PostToThread.hpp"
|
||||
#include "util/Shortcut.hpp"
|
||||
#include "util/StreamerMode.hpp"
|
||||
#include "widgets/Label.hpp"
|
||||
#include "widgets/helper/ChannelView.hpp"
|
||||
#include "widgets/helper/EffectLabel.hpp"
|
||||
|
@ -484,7 +485,10 @@ void UserInfoPopup::updateUserData()
|
|||
[] {
|
||||
// failure
|
||||
});
|
||||
this->loadAvatar(user.profileImageUrl);
|
||||
if (!isInStreamerMode())
|
||||
{
|
||||
this->loadAvatar(user.profileImageUrl);
|
||||
}
|
||||
|
||||
getHelix()->getUserFollowers(
|
||||
user.id,
|
||||
|
|
Loading…
Reference in a new issue