Some more logo assets added.
Before Width: | Height: | Size: 20 KiB |
@ -124,8 +124,6 @@ boxTextFgGood: #4ab44a;
|
||||
boxTextFgError: #d84d4d;
|
||||
boxTitleFg: #404040;
|
||||
boxSearchBg: boxBg;
|
||||
boxSearchCancelIconFg: cancelIconFg;
|
||||
boxSearchCancelIconFgOver: cancelIconFgOver;
|
||||
boxTitleAdditionalFg: #808080;
|
||||
boxTitleCloseFg: cancelIconFg;
|
||||
boxTitleCloseFgOver: cancelIconFgOver;
|
||||
@ -196,7 +194,6 @@ dialogsUnreadFgActive: dialogsBgActive;
|
||||
dialogsForwardBg: dialogsBgActive;
|
||||
dialogsForwardFg: dialogsNameFgActive;
|
||||
searchedBarBg: windowBgOver;
|
||||
searchedBarBorder: shadowFg;
|
||||
searchedBarFg: windowSubTextFgOver;
|
||||
topBarBg: windowBg;
|
||||
emojiPanBg: windowBg;
|
||||
@ -218,9 +215,6 @@ historyIconFgInverted: windowFgActive;
|
||||
historySendingOutIconFg: #98d292;
|
||||
historySendingInIconFg: #a0adb5;
|
||||
historySendingInvertedIconFg: #ffffffc8;
|
||||
historySystemBg: #89a0b47f;
|
||||
historySystemBgSelected: #bbc8d4a2;
|
||||
historySystemFg: windowFgActive;
|
||||
historyUnreadBarBg: #fcfbfa;
|
||||
historyUnreadBarBorder: shadowFg;
|
||||
historyUnreadBarFg: #538bb4;
|
||||
|
@ -9,15 +9,15 @@
|
||||
Version="1.0.6.0" />
|
||||
<Properties>
|
||||
<DisplayName>Telegram Desktop</DisplayName>
|
||||
<PublisherDisplayName>Reserved</PublisherDisplayName>
|
||||
<Description>No description entered</Description>
|
||||
<Logo>Assets\logo.png</Logo>
|
||||
<PublisherDisplayName>Telegram Messenger LLP</PublisherDisplayName>
|
||||
<Description>Telegram Desktop official messenger</Description>
|
||||
<Logo>Assets\logo\logo.png</Logo>
|
||||
</Properties>
|
||||
<Resources>
|
||||
<Resource Language="en-us" />
|
||||
</Resources>
|
||||
<Dependencies>
|
||||
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="1.0.6.0" MaxVersionTested="10.0.14316.0" />
|
||||
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.14316.0" />
|
||||
</Dependencies>
|
||||
<Capabilities>
|
||||
<rescap:Capability Name="runFullTrust"/>
|
||||
@ -25,11 +25,16 @@
|
||||
<Applications>
|
||||
<Application Id="Telegram.TelegramDesktop.Store" Executable="Telegram.exe" EntryPoint="Windows.FullTrustApplication">
|
||||
<uap:VisualElements
|
||||
BackgroundColor="#0e6b99"
|
||||
BackgroundColor="transparent"
|
||||
DisplayName="Telegram Desktop"
|
||||
Square150x150Logo="Assets\logo150.png"
|
||||
Square44x44Logo="Assets\logo44.png"
|
||||
Square150x150Logo="Assets\logo150\logo150.png"
|
||||
Square44x44Logo="Assets\logo44\logo44.png"
|
||||
Description="Telegram Desktop official messenger" />
|
||||
<Extensions>
|
||||
<uap:Extension Category="windows.protocol">
|
||||
<uap:Protocol Name="tg" />
|
||||
</uap:Extension>
|
||||
</Extensions>
|
||||
</Application>
|
||||
</Applications>
|
||||
</Package>
|
BIN
Telegram/Resources/uwp/AppX/Assets/logo/logo.scale-100.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo/logo.scale-125.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo/logo.scale-150.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo/logo.scale-200.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo/logo.scale-400.png
Normal file
After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo150/logo150.scale-125.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo150/logo150.scale-150.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo150/logo150.scale-200.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo150/logo150.scale-400.png
Normal file
After Width: | Height: | Size: 60 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo44/logo44.scale-125.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo44/logo44.scale-150.png
Normal file
After Width: | Height: | Size: 4.6 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo44/logo44.scale-200.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
Telegram/Resources/uwp/AppX/Assets/logo44/logo44.scale-400.png
Normal file
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 852 B |
After Width: | Height: | Size: 852 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 7.1 KiB |
@ -1,6 +0,0 @@
|
||||
[Files]
|
||||
"..\out\Release\Telegram.exe" "Telegram.exe"
|
||||
"Resources\uwp\appxmanifest.xml" "AppxManifest.xml"
|
||||
"Resources\art\uwp\logo.png" "Assets\logo.png"
|
||||
"Resources\art\uwp\logo44.png" "Assets\logo44.png"
|
||||
"Resources\art\uwp\logo150.png" "Assets\logo150.png"
|
23
Telegram/Resources/uwp/priconfig.xml
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<resources targetOsVersion="10.0.0" majorVersion="1">
|
||||
<index root="\" startIndexAt="\">
|
||||
<default>
|
||||
<qualifier name="Language" value="en-US"/>
|
||||
<qualifier name="Contrast" value="standard"/>
|
||||
<qualifier name="Scale" value="100"/>
|
||||
<qualifier name="HomeRegion" value="001"/>
|
||||
<qualifier name="TargetSize" value="256"/>
|
||||
<qualifier name="LayoutDirection" value="LTR"/>
|
||||
<qualifier name="Theme" value="dark"/>
|
||||
<qualifier name="AlternateForm" value=""/>
|
||||
<qualifier name="DXFeatureLevel" value="DX9"/>
|
||||
<qualifier name="Configuration" value=""/>
|
||||
<qualifier name="DeviceFamily" value="Universal"/>
|
||||
<qualifier name="Custom" value=""/>
|
||||
</default>
|
||||
<indexer-config type="folder" foldernameAsQualifier="true" filenameAsQualifier="true" qualifierDelimiter="."/>
|
||||
<indexer-config type="resw" convertDotsToSlashes="true" initialPath=""/>
|
||||
<indexer-config type="resjson" initialPath=""/>
|
||||
<indexer-config type="PRI"/>
|
||||
</index>
|
||||
</resources>
|
@ -54,16 +54,16 @@ NeverFreedPointer<Data> instance;
|
||||
QByteArray readThemeContent(const QString &path) {
|
||||
QFile file(path);
|
||||
if (!file.exists()) {
|
||||
LOG(("Error: theme file not found: %1").arg(path));
|
||||
LOG(("Theme Error: theme file not found: %1").arg(path));
|
||||
return QByteArray();
|
||||
}
|
||||
|
||||
if (file.size() > kThemeFileSizeLimit) {
|
||||
LOG(("Error: theme file too large: %1 (should be less than 5 MB, got %2)").arg(path).arg(file.size()));
|
||||
LOG(("Theme Error: theme file too large: %1 (should be less than 5 MB, got %2)").arg(path).arg(file.size()));
|
||||
return QByteArray();
|
||||
}
|
||||
if (!file.open(QIODevice::ReadOnly)) {
|
||||
LOG(("Warning: could not open theme file: %1").arg(path));
|
||||
LOG(("Theme Warning: could not open theme file: %1").arg(path));
|
||||
return QByteArray();
|
||||
}
|
||||
|
||||
@ -94,36 +94,36 @@ bool readNameAndValue(const char *&from, const char *end, QLatin1String *outName
|
||||
|
||||
*outName = readName(from, end);
|
||||
if (outName->size() == 0) {
|
||||
LOG(("Error: Could not read name in the color scheme."));
|
||||
LOG(("Theme Error: Could not read name in the color scheme."));
|
||||
return false;
|
||||
}
|
||||
if (!skipWhitespaces(from, end)) {
|
||||
LOG(("Error: Unexpected end of the color scheme."));
|
||||
LOG(("Theme Error: Unexpected end of the color scheme."));
|
||||
return false;
|
||||
}
|
||||
if (*from != ':') {
|
||||
LOG(("Error: Expected ':' between each name and value in the color scheme."));
|
||||
LOG(("Theme Error: Expected ':' between each name and value in the color scheme."));
|
||||
return false;
|
||||
}
|
||||
if (!skipWhitespaces(++from, end)) {
|
||||
LOG(("Error: Unexpected end of the color scheme."));
|
||||
LOG(("Theme Error: Unexpected end of the color scheme."));
|
||||
return false;
|
||||
}
|
||||
auto valueStart = from;
|
||||
if (*from == '#') ++from;
|
||||
|
||||
if (readName(from, end).size() == 0) {
|
||||
LOG(("Error: Expected a color value in #rrggbb or #rrggbbaa format in the color scheme."));
|
||||
LOG(("Theme Error: Expected a color value in #rrggbb or #rrggbbaa format in the color scheme."));
|
||||
return false;
|
||||
}
|
||||
*outValue = QLatin1String(valueStart, from - valueStart);
|
||||
|
||||
if (!skipWhitespaces(from, end)) {
|
||||
LOG(("Error: Unexpected end of the color scheme."));
|
||||
LOG(("Theme Error: Unexpected end of the color scheme."));
|
||||
return false;
|
||||
}
|
||||
if (*from != ';') {
|
||||
LOG(("Error: Expected ';' after each value in the color scheme."));
|
||||
LOG(("Theme Error: Expected ';' after each value in the color scheme."));
|
||||
return false;
|
||||
}
|
||||
++from;
|
||||
@ -146,7 +146,7 @@ SetResult setColorSchemeValue(QLatin1String name, QLatin1String value, Instance
|
||||
auto b = readHexUchar(data[5], data[6], error);
|
||||
auto a = (size == 9) ? readHexUchar(data[7], data[8], error) : uchar(255);
|
||||
if (error) {
|
||||
LOG(("Error: Expected a color value in #rrggbb or #rrggbbaa format in the color scheme (while applying '%1: %2')").arg(QLatin1String(name)).arg(QLatin1String(value)));
|
||||
LOG(("Theme Error: Expected a color value in #rrggbb or #rrggbbaa format in the color scheme (while applying '%1: %2')").arg(QLatin1String(name)).arg(QLatin1String(value)));
|
||||
return SetResult::Bad;
|
||||
} else if (out) {
|
||||
found = out->palette.setColor(name, r, g, b, a);
|
||||
@ -165,7 +165,7 @@ SetResult setColorSchemeValue(QLatin1String name, QLatin1String value, Instance
|
||||
|
||||
bool loadColorScheme(const QByteArray &content, Instance *out = nullptr) {
|
||||
if (content.size() > kThemeSchemeSizeLimit) {
|
||||
LOG(("Error: color scheme file too large (should be less than 1 MB, got %2)").arg(content.size()));
|
||||
LOG(("Theme Error: color scheme file too large (should be less than 1 MB, got %2)").arg(content.size()));
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -188,7 +188,7 @@ bool loadColorScheme(const QByteArray &content, Instance *out = nullptr) {
|
||||
if (result == SetResult::Bad) {
|
||||
return false;
|
||||
} else if (result == SetResult::NotFound) {
|
||||
LOG(("Warning: unexpected name or value in the color scheme (while applying '%1: %2')").arg(name).arg(value));
|
||||
LOG(("Theme Warning: unexpected name or value in the color scheme (while applying '%1: %2')").arg(name).arg(value));
|
||||
unsupported.insert(name, value);
|
||||
}
|
||||
}
|
||||
@ -248,7 +248,7 @@ LoadResult loadBackgroundFromFile(zlib::FileToRead &file, const char *filename,
|
||||
file.clearError();
|
||||
return LoadResult::NotFound;
|
||||
}
|
||||
LOG(("Error: could not read '%1' in the theme file.").arg(filename));
|
||||
LOG(("Theme Error: could not read '%1' in the theme file.").arg(filename));
|
||||
return LoadResult::Failed;
|
||||
}
|
||||
|
||||
@ -277,7 +277,7 @@ bool loadTheme(const QByteArray &content, Cached &cache, Instance *out = nullptr
|
||||
if (file.error() == UNZ_OK) {
|
||||
auto schemeContent = file.readFileContent("colors.tdesktop-theme", zlib::kCaseInsensitive, kThemeSchemeSizeLimit);
|
||||
if (file.error() != UNZ_OK) {
|
||||
LOG(("Error: could not read 'colors.tdesktop-theme' in the theme file."));
|
||||
LOG(("Theme Error: could not read 'colors.tdesktop-theme' in the theme file."));
|
||||
return false;
|
||||
}
|
||||
if (!loadColorScheme(schemeContent, out)) {
|
||||
@ -293,12 +293,12 @@ bool loadTheme(const QByteArray &content, Cached &cache, Instance *out = nullptr
|
||||
if (!backgroundContent.isEmpty()) {
|
||||
auto background = App::readImage(backgroundContent);
|
||||
if (background.isNull()) {
|
||||
LOG(("Error: could not read background image in the theme file."));
|
||||
LOG(("Theme Error: could not read background image in the theme file."));
|
||||
return false;
|
||||
}
|
||||
QBuffer buffer(&cache.background);
|
||||
if (!background.save(&buffer, "BMP")) {
|
||||
LOG(("Error: could not write background image as a BMP to cache."));
|
||||
LOG(("Theme Error: could not write background image as a BMP to cache."));
|
||||
return false;
|
||||
}
|
||||
cache.tiled = backgroundTiled;
|
||||
@ -587,7 +587,7 @@ ChatBackground *Background() {
|
||||
|
||||
bool Load(const QString &pathRelative, const QString &pathAbsolute, const QByteArray &content, Cached &cache) {
|
||||
if (content.size() < 4) {
|
||||
LOG(("Error: Could not load theme from '%1' (%2)").arg(pathRelative).arg(pathAbsolute));
|
||||
LOG(("Theme Error: Could not load theme from '%1' (%2)").arg(pathRelative).arg(pathAbsolute));
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -662,7 +662,7 @@ void Revert() {
|
||||
bool LoadFromFile(const QString &path, Instance *out, QByteArray *outContent) {
|
||||
*outContent = readThemeContent(path);
|
||||
if (outContent->size() < 4) {
|
||||
LOG(("Error: Could not load theme from %1").arg(path));
|
||||
LOG(("Theme Error: Could not load theme from %1").arg(path));
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ if %BetaVersion% neq 0 (
|
||||
echo Can not build UWP version from an alpha!
|
||||
exit /b 1
|
||||
)
|
||||
if exist %ReleasePath%\deploy\%AppVersionStrMajor%\%AppVersionStr%\uwp\ (
|
||||
if exist %ReleasePath%\deploy\%AppVersionStrMajor%\%AppVersionStr%\AppX\ (
|
||||
echo UWP deploy folder for version %AppVersionStr% already exists!
|
||||
exit /b 1
|
||||
)
|
||||
@ -148,14 +148,7 @@ cd "%ReleasePath%"
|
||||
call "%SignPath%" "%BinaryName%.exe"
|
||||
if %errorlevel% neq 0 goto error
|
||||
|
||||
if %BuildUWP% neq 0 (
|
||||
cd "%HomePath%"
|
||||
|
||||
MakeAppx.exe pack /f Resources\uwp\mapping /l /p ..\out\Release\%BinaryName%.appx
|
||||
if %errorlevel% neq 0 goto error
|
||||
|
||||
call "%SignAppxPath%" "..\out\Release\%BinaryName%.appx"
|
||||
) else (
|
||||
if %BuildUWP% equ 0 (
|
||||
call "%SignPath%" "Updater.exe"
|
||||
if %errorlevel% neq 0 goto error
|
||||
|
||||
@ -203,11 +196,24 @@ move "%ReleasePath%\%BinaryName%.exe.sym" %DropboxSymbolsPath%\%BinaryName%.exe.
|
||||
echo Done!
|
||||
|
||||
if %BuildUWP% neq 0 (
|
||||
mkdir "%DeployPath%\uwp"
|
||||
move "%ReleasePath%\%BinaryName%.exe" "%DeployPath%\uwp\"
|
||||
xcopy "%ReleasePath%\%BinaryName%.pdb" "%DeployPath%\uwp\"
|
||||
move "%ReleasePath%\%BinaryName%.exe.pdb" "%DeployPath%\uwp\"
|
||||
move "%ReleasePath%\Telegram.appx" "%DeployPath%\uwp\"
|
||||
cd "%HomePath%"
|
||||
|
||||
mkdir "%DeployPath%\AppX"
|
||||
xcopy /e "Resources\uwp\AppX\*" "%DeployPath%\AppX\"
|
||||
|
||||
makepri new /pr Resources\uwp\AppX\ /cf Resources\uwp\priconfig.xml /mn %DeployPath%\AppX\AppxManifest.xml /of %DeployPath%\AppX\resources.pri
|
||||
if %errorlevel% neq 0 goto error
|
||||
|
||||
move "%ReleasePath%\%BinaryName%.exe" "%DeployPath%\AppX\"
|
||||
|
||||
MakeAppx.exe pack /d "%DeployPath%\AppX" /l /p ..\out\Release\%BinaryName%.appx
|
||||
if %errorlevel% neq 0 goto error
|
||||
|
||||
call "%SignAppxPath%" "..\out\Release\%BinaryName%.appx"
|
||||
|
||||
xcopy "%ReleasePath%\%BinaryName%.pdb" "%DeployPath%\AppX\"
|
||||
move "%ReleasePath%\%BinaryName%.exe.pdb" "%DeployPath%\AppX\"
|
||||
move "%ReleasePath%\%BinaryName%.appx" "%DeployPath%\AppX\"
|
||||
) else (
|
||||
if not exist "%ReleasePath%\deploy" mkdir "%ReleasePath%\deploy"
|
||||
if not exist "%ReleasePath%\deploy\%AppVersionStrMajor%" mkdir "%ReleasePath%\deploy\%AppVersionStrMajor%"
|
||||
|