diff --git a/Telegram/Resources/colors.palette b/Telegram/Resources/colors.palette
index 6d34b8563..787617cba 100644
--- a/Telegram/Resources/colors.palette
+++ b/Telegram/Resources/colors.palette
@@ -462,6 +462,8 @@ changePhoneSimcardTo: notificationSampleNameFg; // change phone number box right
mainMenuBg: windowBg; // main menu background
mainMenuCoverBg: dialogsBgActive; // main menu top cover background
mainMenuCoverFg: windowFgActive; // main menu top cover text
+mainMenuCloudFg: activeButtonFg;
+mainMenuCloudBg: #2785bf | activeButtonBgRipple;
mediaPlayerBg: windowBg; // audio file player background
mediaPlayerActiveFg: windowBgActive; // audio file player playback progress already played part
diff --git a/Telegram/Resources/icons/menu_cloud.png b/Telegram/Resources/icons/menu_cloud.png
new file mode 100644
index 000000000..837fb5074
Binary files /dev/null and b/Telegram/Resources/icons/menu_cloud.png differ
diff --git a/Telegram/Resources/icons/menu_cloud@2x.png b/Telegram/Resources/icons/menu_cloud@2x.png
new file mode 100644
index 000000000..7ecd31190
Binary files /dev/null and b/Telegram/Resources/icons/menu_cloud@2x.png differ
diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings
index e62536ae9..e4df40ba6 100644
--- a/Telegram/Resources/langs/lang.strings
+++ b/Telegram/Resources/langs/lang.strings
@@ -1075,7 +1075,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop was updated to version {version}\n\n{changes}\n\nFull version history is available here:\n{link}";
"lng_new_version_minor" = "— Bug fixes and other minor improvements";
-"lng_new_version_text" = "— Send MP4/MOV files as videos that will play right inside Telegram.\n— Click on the date in any chat to quickly jump to messages from a specific day.\n— Change your phone number in Settings.\n— Edit who can see your last seen time and who can add you to groups in Settings.\n— Edit your list of blocked users in Settings.\n— App now respects the \"Do Not Disturb\" setting for macOS notifications.\n— Bug fixes and other minor improvements.";
+"lng_new_version_text" = "— Improved Emoji, Stickers, and Saved GIFs panel.\n— Bug fixes and other minor improvements.";
"lng_menu_insert_unicode" = "Insert Unicode control character";
diff --git a/Telegram/Resources/langs/lang_de.strings b/Telegram/Resources/langs/lang_de.strings
index 1856708af..f7f1505c7 100644
--- a/Telegram/Resources/langs/lang_de.strings
+++ b/Telegram/Resources/langs/lang_de.strings
@@ -774,12 +774,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_recent_stickers" = "Häufig genutzt";
"lng_switch_stickers" = "Sticker";
-"lng_switch_stickers_gifs" = "GIFs & Sticker";
"lng_switch_emoji" = "Emoji";
+"lng_switch_gifs" = "GIFs";
"lng_stickers_featured_add" = "Hinzufügen";
+"lng_gifs_search" = "Suche GIFs";
-"lng_saved_gifs" = "Gespeicherte GIFs";
-"lng_inline_bot_results" = "Ergebnisse von {inline_bot}";
"lng_inline_bot_no_results" = "Keine Ergebnisse";
"lng_inline_bot_via" = "via {inline_bot}";
@@ -1076,7 +1075,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop wurde aktualisiert auf Version {version}\n\n{changes}\n\nGesamter Versionsverlauf:\n{link}";
"lng_new_version_minor" = "— Fehlerbehebungen und Softwareoptimierungen";
-"lng_new_version_text" = "— Sende MP4/MOV Dateien als Videos. Sie werden dann direkt in der App abgespielt.\n— Schnell zu einem bestimmten Datum springen: Tippe auf das Datum im Chat und springe so direkt zu einem anderen Tag.\n— Neue Einstellungen: Telefonnummer ändern, \"zuletzt gesehen\" Status und Gruppeneinladungen in den Telegram-Einstellungen.\n— Die App hält sich an die \"Nicht stören\" Einstellungen bei macOS.\n— Fehlerbehebungen und kleinere Verbesserungen.";
+"lng_new_version_text" = "— Emoji-, Sticker- und GIF-Panel wurden optimiert.\n— Fehlerbehebungen und Softwareoptimierungen";
"lng_menu_insert_unicode" = "Unicode-Steuerzeichen einfügen";
diff --git a/Telegram/Resources/langs/lang_es.strings b/Telegram/Resources/langs/lang_es.strings
index 6625201b6..23d3d98f9 100644
--- a/Telegram/Resources/langs/lang_es.strings
+++ b/Telegram/Resources/langs/lang_es.strings
@@ -774,12 +774,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_recent_stickers" = "Uso frecuente";
"lng_switch_stickers" = "Stickers";
-"lng_switch_stickers_gifs" = "GIF y stickers";
"lng_switch_emoji" = "Emoji";
+"lng_switch_gifs" = "GIF";
"lng_stickers_featured_add" = "Añadir";
+"lng_gifs_search" = "Buscar GIF";
-"lng_saved_gifs" = "GIF guardados";
-"lng_inline_bot_results" = "Resultados de {inline_bot}";
"lng_inline_bot_no_results" = "Sin resultados";
"lng_inline_bot_via" = "vía {inline_bot}";
@@ -1076,7 +1075,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop ha sido actualizada a la versión {version}\n\n{changes}\n\nEl historial completo está disponible aquí:\n{link}";
"lng_new_version_minor" = "— Corrección de errores y otras mejoras menores";
-"lng_new_version_text" = "— Envía archivos MP4/MOV como videos que se reproducirán dentro de Telegram.\n— Haz clic en la fecha en cualquier chat para ir a los mensajes de un día en específico.\n— Cambia tu número de teléfono en ajustes.\n— Edita quién puede ver tu última conexión y quién puede añadirte a grupos en ajustes.\n— Edita la lista de usuarios bloqueados en ajustes.\n— La aplicación ahora respeta la opción “No molestar” en las notificaciones de macOS. \n— Corrección de errores y otras mejoras menores.";
+"lng_new_version_text" = "— Mejoras en el panel de emojis, stickers y GIF guardados.\n— Corrección de errores y otras mejoras menores.";
"lng_menu_insert_unicode" = "Insertar caracteres de control Unicode";
diff --git a/Telegram/Resources/langs/lang_it.strings b/Telegram/Resources/langs/lang_it.strings
index c33e339d9..392fbda8d 100644
--- a/Telegram/Resources/langs/lang_it.strings
+++ b/Telegram/Resources/langs/lang_it.strings
@@ -774,12 +774,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_recent_stickers" = "Usati di frequente";
"lng_switch_stickers" = "Sticker";
-"lng_switch_stickers_gifs" = "GIF e Sticker";
"lng_switch_emoji" = "Emoji";
+"lng_switch_gifs" = "GIF";
"lng_stickers_featured_add" = "Aggiungi";
+"lng_gifs_search" = "Cerca GIF";
-"lng_saved_gifs" = "GIF salvate";
-"lng_inline_bot_results" = "Risultati da {inline_bot}";
"lng_inline_bot_no_results" = "Nessun risultato";
"lng_inline_bot_via" = "via {inline_bot}";
@@ -1076,7 +1075,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop si è aggiornato alla versione {version}\n\n{changes}\n\nLa cronologia degli aggiornamenti è disponibile qui:\n{link}";
"lng_new_version_minor" = "— Risoluzione di problemi e altri miglioramenti minori";
-"lng_new_version_text" = "— Vai alla data. Quando esegui una ricerca in una chat clicca sulla data per andare al giorno selezionato.\n— Aggiunte le Impostazioni per la privacy dell'ultimo accesso e per l'invito ai gruppi.\n— Cambia il tuo numero nelle Impostazioni.\n— Modifica la lista degli utenti bloccati nelle Impostazioni.\n— Invia file MP4/MOV come video in modo che vengano aperti all'interno di Telegram.\n— L'app ora rispetta la modalità \"Non disturbare\" per le notifiche di macOS.\n— Risoluzione di problemi e altri miglioramenti minori.";
+"lng_new_version_text" = "— Miglioramenti nel pannello Emoji, Sticker e GIF salvate.\n— Risoluzione di problemi e altri miglioramenti minori.";
"lng_menu_insert_unicode" = "Inserisci carattere di controllo Unicode";
diff --git a/Telegram/Resources/langs/lang_ko.strings b/Telegram/Resources/langs/lang_ko.strings
index 81c8841d9..1d3c88cd9 100644
--- a/Telegram/Resources/langs/lang_ko.strings
+++ b/Telegram/Resources/langs/lang_ko.strings
@@ -774,12 +774,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_recent_stickers" = "자주 사용";
"lng_switch_stickers" = "스티커";
-"lng_switch_stickers_gifs" = "GIF & 스티커";
"lng_switch_emoji" = "이모티콘";
+"lng_switch_gifs" = "GIF";
"lng_stickers_featured_add" = "추가";
+"lng_gifs_search" = "GIF 검색";
-"lng_saved_gifs" = "저장된 GIF";
-"lng_inline_bot_results" = "{inline_bot} 결과";
"lng_inline_bot_no_results" = "결과 없음";
"lng_inline_bot_via" = "{inline_bot} 결과";
@@ -1076,7 +1075,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다.\n\n{changes}\n\n전체 버전 히스토리는 아래에서 확인 가능합니다:\n{link}";
"lng_new_version_minor" = "— 버그 수정 및 일부 기능 향상";
-"lng_new_version_text" = "— 텔레그램내에서 바로 MP4/MOV 파일 재생\n— 특정날자로 이동하여 대화내역 확인\n— 설정에서 전화번호 변경\n— 개인정보 설정화면에서 마지막 접속 및 그룹 초대 허용설정\n— 설정에서 차단된 사용자 리스트 수정\n— OSX 알림설정인 \"Do Not Disturb\" 설정 반영\n— 버그 수정 및 일부 기능 향상";
+"lng_new_version_text" = "— 이모티콘, 스티커 및 GIF 저장 패널 기능 향상\n— 버그 수정 및 일부 기능 향상";
"lng_menu_insert_unicode" = "유니코드 문자를 입력하세요.";
diff --git a/Telegram/Resources/langs/lang_nl.strings b/Telegram/Resources/langs/lang_nl.strings
index 1b0d0a1c2..fd5fd18f1 100644
--- a/Telegram/Resources/langs/lang_nl.strings
+++ b/Telegram/Resources/langs/lang_nl.strings
@@ -774,12 +774,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_recent_stickers" = "Veelgebruikt";
"lng_switch_stickers" = "Stickers";
-"lng_switch_stickers_gifs" = "GIF's & stickers";
"lng_switch_emoji" = "Emoji";
+"lng_switch_gifs" = "GIF's";
"lng_stickers_featured_add" = "Toevoegen";
+"lng_gifs_search" = "GIF's zoeken";
-"lng_saved_gifs" = "Opgeslagen GIF's";
-"lng_inline_bot_results" = "Resultaten van {inline_bot}";
"lng_inline_bot_no_results" = "Geen resultaten";
"lng_inline_bot_via" = "via {inline_bot}";
@@ -1076,7 +1075,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram is bijgewerkt naar versie {version}\n\n{changes} \n\nVolledige versiegeschiedenis is hier te vinden:\n{link}";
"lng_new_version_minor" = "— Probleemoplossing en andere kleine verbeteringen";
-"lng_new_version_text" = "— MP4/MOV-bestanden versturen als video, deze spelen direct af in Telegram.\n— Spring naar datum. Klik op de datum in een chat om naar een specifieke dag te springen.\n— Wijzig je telefoonnummer via de instellingen.\n— Privacyinstellingen voor \"laatst gezien\" en groepsuitnodigingen.\n— Geblokkeerde gebruikers beheren via instellingen.\n— Ondersteuning voor de \"Niet storen\"-functie van macOS.\n— Probleemoplossing en andere kleine verbeteringen.";
+"lng_new_version_text" = "— Verbeterd paneel voor Emoji's, stickers en opgeslagen GIF's.\n— Probleemoplossing en andere kleine verbeteringen.";
"lng_menu_insert_unicode" = "Unicode-besturingsteken invoegen";
diff --git a/Telegram/Resources/langs/lang_pt_BR.strings b/Telegram/Resources/langs/lang_pt_BR.strings
index c0fdd5462..394a81bcd 100644
--- a/Telegram/Resources/langs/lang_pt_BR.strings
+++ b/Telegram/Resources/langs/lang_pt_BR.strings
@@ -774,12 +774,11 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_recent_stickers" = "Usados frequentemente";
"lng_switch_stickers" = "Stickers";
-"lng_switch_stickers_gifs" = "GIFs e Stickers";
"lng_switch_emoji" = "Emoji";
+"lng_switch_gifs" = "GIFs";
"lng_stickers_featured_add" = "Adicionar";
+"lng_gifs_search" = "Buscar GIFs";
-"lng_saved_gifs" = "GIFs Salvos";
-"lng_inline_bot_results" = "Resultados de {inline_bot}";
"lng_inline_bot_no_results" = "Nenhum resultado";
"lng_inline_bot_via" = "via {inline_bot}";
@@ -1076,7 +1075,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop foi atualizado para a versão {version}\n\n{changes}\n\nHistórico completo de mudanças disponível aqui:\n{link}";
"lng_new_version_minor" = "— Resolução de bugs e outras melhorias menores";
-"lng_new_version_text" = "— Envie arquivos MP4/MOV como vídeos que serão reproduzidos dentro do Telegram.\n— Clique em uma data na conversa para pular para o dia específico.\n— Altere seu número nas Configurações.\n— Edite quem pode ver suas opções de visto por último e quem pode te adicionar em grupos nas Configurações.\n— Edite a lista de usuários bloqueados nas Configurações.\n— O aplicativo agora respeita ao \"Não Perturbe\" nas notificações do macOS.\n— Resolução de bugs e outras melhorias.";
+"lng_new_version_text" = "— Melhorias no painel de Emoji, Stickers e GIFs Salvos.\n— Resolução de bugs e outras melhorias menores";
"lng_menu_insert_unicode" = "Inserir caractere de controle Unicode";
diff --git a/Telegram/Resources/uwp/AppX/AppxManifest.xml b/Telegram/Resources/uwp/AppX/AppxManifest.xml
index c2281d893..2cf6fafa5 100644
--- a/Telegram/Resources/uwp/AppX/AppxManifest.xml
+++ b/Telegram/Resources/uwp/AppX/AppxManifest.xml
@@ -9,7 +9,7 @@
+ Version="1.0.29.0" />
Telegram Desktop
Telegram Messenger LLP
diff --git a/Telegram/Resources/winrc/Telegram.rc b/Telegram/Resources/winrc/Telegram.rc
index 70825d14a..e071add75 100644
--- a/Telegram/Resources/winrc/Telegram.rc
+++ b/Telegram/Resources/winrc/Telegram.rc
@@ -34,8 +34,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico"
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,28,0
- PRODUCTVERSION 1,0,28,0
+ FILEVERSION 1,0,29,0
+ PRODUCTVERSION 1,0,29,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -52,10 +52,10 @@ BEGIN
BEGIN
VALUE "CompanyName", "Telegram Messenger LLP"
VALUE "FileDescription", "Telegram Desktop"
- VALUE "FileVersion", "1.0.28.0"
+ VALUE "FileVersion", "1.0.29.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2017"
VALUE "ProductName", "Telegram Desktop"
- VALUE "ProductVersion", "1.0.28.0"
+ VALUE "ProductVersion", "1.0.29.0"
END
END
BLOCK "VarFileInfo"
diff --git a/Telegram/Resources/winrc/Updater.rc b/Telegram/Resources/winrc/Updater.rc
index 090c7f2e7..de065c345 100644
--- a/Telegram/Resources/winrc/Updater.rc
+++ b/Telegram/Resources/winrc/Updater.rc
@@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,28,0
- PRODUCTVERSION 1,0,28,0
+ FILEVERSION 1,0,29,0
+ PRODUCTVERSION 1,0,29,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -43,10 +43,10 @@ BEGIN
BEGIN
VALUE "CompanyName", "Telegram Messenger LLP"
VALUE "FileDescription", "Telegram Desktop Updater"
- VALUE "FileVersion", "1.0.28.0"
+ VALUE "FileVersion", "1.0.29.0"
VALUE "LegalCopyright", "Copyright (C) 2014-2017"
VALUE "ProductName", "Telegram Desktop"
- VALUE "ProductVersion", "1.0.28.0"
+ VALUE "ProductVersion", "1.0.29.0"
END
END
BLOCK "VarFileInfo"
diff --git a/Telegram/SourceFiles/core/version.h b/Telegram/SourceFiles/core/version.h
index 33df0ef6d..78e5b977c 100644
--- a/Telegram/SourceFiles/core/version.h
+++ b/Telegram/SourceFiles/core/version.h
@@ -24,7 +24,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#define BETA_VERSION_MACRO (0ULL)
-constexpr int AppVersion = 1000028;
-constexpr str_const AppVersionStr = "1.0.28";
-constexpr bool AppAlphaVersion = true;
+constexpr int AppVersion = 1000029;
+constexpr str_const AppVersionStr = "1.0.29";
+constexpr bool AppAlphaVersion = false;
constexpr uint64 AppBetaVersion = BETA_VERSION_MACRO;
diff --git a/Telegram/SourceFiles/messenger.cpp b/Telegram/SourceFiles/messenger.cpp
index afa07b005..f118521a1 100644
--- a/Telegram/SourceFiles/messenger.cpp
+++ b/Telegram/SourceFiles/messenger.cpp
@@ -679,7 +679,7 @@ void Messenger::checkMapVersion() {
QString versionFeatures;
if ((cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 1000028) {
versionFeatures = QString::fromUtf8("\xE2\x80\x94 Better Emoji & Stickers & Saved GIFs panel.\n\xE2\x80\x94 Bug fixes and other minor improvements.");
- } else if (!(cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 1000026) {
+ } else if (!(cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 1000029) {
versionFeatures = langNewVersionText();
} else {
versionFeatures = lang(lng_new_version_minor).trimmed();
diff --git a/Telegram/SourceFiles/window/window.style b/Telegram/SourceFiles/window/window.style
index 425957345..8cf49e999 100644
--- a/Telegram/SourceFiles/window/window.style
+++ b/Telegram/SourceFiles/window/window.style
@@ -98,6 +98,16 @@ mainMenuCoverHeight: 140px;
mainMenuUserpicLeft: 24px;
mainMenuUserpicTop: 22px;
mainMenuUserpicSize: 48px;
+mainMenuCloudButton: IconButton {
+ width: 68px;
+ height: 68px;
+
+ icon: icon {
+ { "menu_cloud", mainMenuCloudFg },
+ };
+ iconPosition: point(24px, 24px);
+}
+mainMenuCloudSize: 32px;
mainMenuCoverTextLeft: 30px;
mainMenuCoverNameTop: 88px;
mainMenuCoverStatusTop: 106px;
diff --git a/Telegram/SourceFiles/window/window_main_menu.cpp b/Telegram/SourceFiles/window/window_main_menu.cpp
index f59569592..d86f8b7d3 100644
--- a/Telegram/SourceFiles/window/window_main_menu.cpp
+++ b/Telegram/SourceFiles/window/window_main_menu.cpp
@@ -23,6 +23,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#include "styles/style_window.h"
#include "styles/style_dialogs.h"
#include "profile/profile_userpic_button.h"
+#include "ui/widgets/buttons.h"
#include "ui/widgets/labels.h"
#include "ui/widgets/menu.h"
#include "mainwindow.h"
@@ -78,19 +79,25 @@ MainMenu::MainMenu(QWidget *parent) : TWidget(parent)
void MainMenu::checkSelf() {
if (auto self = App::self()) {
- _userpicButton.create(this, self, st::mainMenuUserpicSize);
- _userpicButton->setClickedCallback([] {
+ auto showSelfChat = [] {
if (auto self = App::self()) {
Ui::showPeerHistory(App::history(self), ShowAtUnreadMsgId);
}
- });
+ };
+ _userpicButton.create(this, self, st::mainMenuUserpicSize);
+ _userpicButton->setClickedCallback(showSelfChat);
_userpicButton->show();
+ _cloudButton.create(this, st::mainMenuCloudButton);
+ _cloudButton->setClickedCallback(showSelfChat);
+ _cloudButton->show();
+ update();
updateControlsGeometry();
if (_showFinished) {
_userpicButton->showFinished();
}
} else {
_userpicButton.destroy();
+ _cloudButton.destroy();
}
}
@@ -109,6 +116,9 @@ void MainMenu::updateControlsGeometry() {
if (_userpicButton) {
_userpicButton->moveToLeft(st::mainMenuUserpicLeft, st::mainMenuUserpicTop);
}
+ if (_cloudButton) {
+ _cloudButton->moveToRight(0, st::mainMenuCoverHeight - _cloudButton->height());
+ }
_menu->setGeometry(0, st::mainMenuCoverHeight + st::mainMenuSkip, width(), _menu->height());
_telegram->moveToLeft(st::mainMenuFooterLeft, height() - st::mainMenuTelegramBottom - _telegram->height());
_version->moveToLeft(st::mainMenuFooterLeft, height() - st::mainMenuVersionBottom - _version->height());
@@ -137,6 +147,15 @@ void MainMenu::paintEvent(QPaintEvent *e) {
p.setFont(st::normalFont);
p.drawTextLeft(st::mainMenuCoverTextLeft, st::mainMenuCoverStatusTop, width(), _connectionText);
}
+ if (_cloudButton) {
+ PainterHighQualityEnabler hq(p);
+ p.setPen(Qt::NoPen);
+ p.setBrush(st::mainMenuCloudBg);
+ auto cloudBg = QRect(_cloudButton->x() + (_cloudButton->width() - st::mainMenuCloudSize) / 2,
+ _cloudButton->y() + (_cloudButton->height() - st::mainMenuCloudSize) / 2,
+ st::mainMenuCloudSize, st::mainMenuCloudSize);
+ p.drawEllipse(cloudBg);
+ }
}
auto other = QRect(0, st::mainMenuCoverHeight, width(), height() - st::mainMenuCoverHeight).intersected(clip);
if (!other.isEmpty()) {
diff --git a/Telegram/SourceFiles/window/window_main_menu.h b/Telegram/SourceFiles/window/window_main_menu.h
index cc2d6d973..3d95c9cb4 100644
--- a/Telegram/SourceFiles/window/window_main_menu.h
+++ b/Telegram/SourceFiles/window/window_main_menu.h
@@ -21,6 +21,7 @@ Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
#pragma once
namespace Ui {
+class IconButton;
class FlatLabel;
class Menu;
} // namespace Ui
@@ -50,6 +51,7 @@ private:
void updateConnectionState();
object_ptr _userpicButton = { nullptr };
+ object_ptr _cloudButton = { nullptr };
object_ptr _menu;
object_ptr _telegram;
object_ptr _version;
diff --git a/Telegram/build/version b/Telegram/build/version
index de67fec91..c8c1a4f5a 100644
--- a/Telegram/build/version
+++ b/Telegram/build/version
@@ -1,6 +1,6 @@
-AppVersion 1000028
+AppVersion 1000029
AppVersionStrMajor 1.0
-AppVersionStrSmall 1.0.28
-AppVersionStr 1.0.28
-AlphaChannel 1
+AppVersionStrSmall 1.0.29
+AppVersionStr 1.0.29
+AlphaChannel 0
BetaVersion 0
diff --git a/changelog.txt b/changelog.txt
index 13ffeaf61..9a02503f2 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,8 @@
+1.0.29 (05.04.17)
+
+- Improved Emoji, Stickers, and Saved GIFs panel.
+- Bug fixes and other minor improvements.
+
1.0.28 alpha (03.04.17)
- Better Emoji & Stickers & Saved GIFs panel.