Fixes for window icon (#38)
* Give priority for custom icon on linux * Add support for icon from file, as in tray
This commit is contained in:
parent
8487cf2a38
commit
e425912490
1 changed files with 19 additions and 2 deletions
|
|
@ -119,20 +119,37 @@ void ConvertIconToBlack(QImage &image) {
|
||||||
}
|
}
|
||||||
|
|
||||||
QIcon CreateOfficialIcon(Main::Account *account) {
|
QIcon CreateOfficialIcon(Main::Account *account) {
|
||||||
auto image = Core::IsAppLaunched() ? Core::App().logo(cCustomAppIcon()) : LoadLogo(cCustomAppIcon());
|
const auto customIcon = QImage(cWorkingDir() + "tdata/icon.png");
|
||||||
|
|
||||||
|
auto image = customIcon.isNull()
|
||||||
|
? Core::IsAppLaunched()
|
||||||
|
? Core::App().logo(cCustomAppIcon())
|
||||||
|
: LoadLogo(cCustomAppIcon())
|
||||||
|
: customIcon;
|
||||||
|
|
||||||
if (account
|
if (account
|
||||||
&& account->sessionExists()
|
&& account->sessionExists()
|
||||||
&& account->session().supportMode()) {
|
&& account->session().supportMode()) {
|
||||||
ConvertIconToBlack(image);
|
ConvertIconToBlack(image);
|
||||||
}
|
}
|
||||||
|
|
||||||
return QIcon(App::pixmapFromImageInPlace(std::move(image)));
|
return QIcon(App::pixmapFromImageInPlace(std::move(image)));
|
||||||
}
|
}
|
||||||
|
|
||||||
QIcon CreateIcon(Main::Account *account) {
|
QIcon CreateIcon(Main::Account *account) {
|
||||||
auto result = CreateOfficialIcon(account);
|
auto result = CreateOfficialIcon(account);
|
||||||
|
|
||||||
#ifdef Q_OS_LINUX
|
#ifdef Q_OS_LINUX
|
||||||
return QIcon::fromTheme(Platform::GetIconName(), result);
|
if (
|
||||||
|
(!account
|
||||||
|
|| !account->sessionExists()
|
||||||
|
|| !account->session().supportMode())
|
||||||
|
&& cCustomAppIcon() == 0
|
||||||
|
&& !QFileInfo::exists(cWorkingDir() + "tdata/icon.png")) {
|
||||||
|
return QIcon::fromTheme(Platform::GetIconName(), result);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue