diff --git a/Telegram.sln b/Telegram.sln index d33570a0c..836d4a043 100644 --- a/Telegram.sln +++ b/Telegram.sln @@ -52,13 +52,10 @@ Global {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|Win32.Build.0 = Release|Win32 {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|x64.ActiveCfg = Release|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|Win32.ActiveCfg = Debug|Win32 - {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|Win32.Build.0 = Debug|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|x64.ActiveCfg = Debug|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|Win32.ActiveCfg = Deploy|Win32 - {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|Win32.Build.0 = Deploy|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|x64.ActiveCfg = Release|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|Win32.ActiveCfg = Release|Win32 - {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|Win32.Build.0 = Release|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|x64.ActiveCfg = Release|Win32 {6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|Win32.ActiveCfg = Debug|Win32 {6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|Win32.Build.0 = Debug|Win32 diff --git a/Telegram/PrepareWin.bat b/Telegram/PrepareWin.bat index e9357553b..a5562aaf4 100644 --- a/Telegram/PrepareWin.bat +++ b/Telegram/PrepareWin.bat @@ -1,10 +1,10 @@ @echo OFF -set "AppVersion=8011" -set "AppVersionStrSmall=0.8.11" -set "AppVersionStr=0.8.11" -set "AppVersionStrFull=0.8.11.0" -set "DevChannel=0" +set "AppVersion=8012" +set "AppVersionStrSmall=0.8.12" +set "AppVersionStr=0.8.12" +set "AppVersionStrFull=0.8.12.0" +set "DevChannel=1" if %DevChannel% neq 0 goto preparedev diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index 1f6ca5ba9..06c6cf838 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -662,8 +662,8 @@ void Application::checkMapVersion() { psRegisterCustomScheme(); if (Local::oldMapVersion()) { QString versionFeatures; - if (DevChannel && Local::oldMapVersion() < 8010) { - versionFeatures = QString::fromUtf8("\xe2\x80\x94 Critical bug fixes with message history loading").replace('@', qsl("@") + QChar(0x200D)); + if (DevChannel && Local::oldMapVersion() < 8012) { + versionFeatures = QString::fromUtf8("\xe2\x80\x94 New emojis support added\n\xe2\x80\x94 Emojis and stickers panel improved").replace('@', qsl("@") + QChar(0x200D)); } else if (!DevChannel && Local::oldMapVersion() < 8011) { versionFeatures = lang(lng_new_version_text).trimmed(); } diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h index e8fec2af5..31419962e 100644 --- a/Telegram/SourceFiles/config.h +++ b/Telegram/SourceFiles/config.h @@ -17,9 +17,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org */ #pragma once -static const int32 AppVersion = 8011; -static const wchar_t *AppVersionStr = L"0.8.11"; -static const bool DevChannel = false; +static const int32 AppVersion = 8012; +static const wchar_t *AppVersionStr = L"0.8.12"; +static const bool DevChannel = true; static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)"; static const wchar_t *AppName = L"Telegram Desktop"; diff --git a/Telegram/SourceFiles/dropdown.cpp b/Telegram/SourceFiles/dropdown.cpp index 4b7854f39..ab3bf48b7 100644 --- a/Telegram/SourceFiles/dropdown.cpp +++ b/Telegram/SourceFiles/dropdown.cpp @@ -489,9 +489,10 @@ void EmojiColorPicker::paintEvent(QPaintEvent *e) { if (_cache.isNull()) { p.fillRect(r, st::white->b); - p.translate(w, h); - p.fillRect(2 * st::emojiColorsPadding + st::emojiPanSize.width(), st::emojiColorsPadding, st::emojiColorsSep, r.height() - st::emojiColorsPadding * 2, st::emojiColorsSepColor->b); + int32 x = w + 2 * st::emojiColorsPadding + st::emojiPanSize.width(); + if (rtl()) x = width() - x - st::emojiColorsSep; + p.fillRect(x, h + st::emojiColorsPadding, st::emojiColorsSep, r.height() - st::emojiColorsPadding * 2, st::emojiColorsSepColor->b); if (!_variants[0]) return; for (int i = 0; i < EmojiColorsCount + 1; ++i) { @@ -631,9 +632,9 @@ void EmojiColorPicker::clearSelection(bool fast) { void EmojiColorPicker::updateSelected() { int32 selIndex = -1; QPoint p(mapFromGlobal(_lastMousePos)); - int32 y = p.y() - st::dropdownDef.shadow.pxHeight() - st::emojiColorsPadding; + int32 sx = rtl() ? (width() - p.x()) : p.x(), y = p.y() - st::dropdownDef.shadow.pxHeight() - st::emojiColorsPadding; if (y >= 0 && y < st::emojiPanSize.height()) { - int32 x = p.x() - st::dropdownDef.shadow.pxWidth() - st::emojiColorsPadding; + int32 x = sx - st::dropdownDef.shadow.pxWidth() - st::emojiColorsPadding; if (x >= 0 && x < st::emojiPanSize.width()) { selIndex = 0; } else { @@ -669,17 +670,18 @@ void EmojiColorPicker::updateSelected() { void EmojiColorPicker::drawVariant(Painter &p, int variant) { float64 hover = _hovers[variant]; - QPoint w(st::emojiColorsPadding + variant * st::emojiPanSize.width() + (variant ? 2 * st::emojiColorsPadding + st::emojiColorsSep : 0), st::emojiColorsPadding); + QPoint w(st::dropdownDef.shadow.pxWidth() + st::emojiColorsPadding + variant * st::emojiPanSize.width() + (variant ? 2 * st::emojiColorsPadding + st::emojiColorsSep : 0), st::dropdownDef.shadow.pxHeight() + st::emojiColorsPadding); if (hover > 0) { p.setOpacity(hover); p.setBrush(st::emojiPanHover->b); p.setPen(Qt::NoPen); - p.drawRoundedRect(QRect(w, st::emojiPanSize), st::emojiPanRound, st::emojiPanRound); + QPoint tl(w); + if (rtl()) tl.setX(width() - tl.x() - st::emojiPanSize.width()); + p.drawRoundedRect(QRect(tl, st::emojiPanSize), st::emojiPanRound, st::emojiPanRound); p.setOpacity(1); } int esize = EmojiSizes[EIndex + 1]; p.drawPixmapLeft(w.x() + (st::emojiPanSize.width() - (esize / cIntRetinaFactor())) / 2, w.y() + (st::emojiPanSize.height() - (esize / cIntRetinaFactor())) / 2, width(), App::emojisLarge(), QRect(_variants[variant]->x * esize, _variants[variant]->y * esize, esize, esize)); - } EmojiPanInner::EmojiPanInner(QWidget *parent) : TWidget(parent), _top(0), _selected(-1), _pressedSel(-1), _pickerSel(-1), _picker(this) { @@ -826,7 +828,9 @@ void EmojiPanInner::paintEvent(QPaintEvent *e) { p.setOpacity(hover); p.setBrush(st::emojiPanHover->b); p.setPen(Qt::NoPen); - p.drawRoundedRect(QRect(w, st::emojiPanSize), st::emojiPanRound, st::emojiPanRound); + QPoint tl(w); + if (rtl()) tl.setX(width() - tl.x() - st::emojiPanSize.width()); + p.drawRoundedRect(QRect(tl, st::emojiPanSize), st::emojiPanRound, st::emojiPanRound); p.setOpacity(1); } p.drawPixmapLeft(w.x() + (st::emojiPanSize.width() - (_esize / cIntRetinaFactor())) / 2, w.y() + (st::emojiPanSize.height() - (_esize / cIntRetinaFactor())) / 2, width(), App::emojisLarge(), QRect(_emojis[c][index]->x * _esize, _emojis[c][index]->y * _esize, _esize, _esize)); @@ -868,7 +872,9 @@ void EmojiPanInner::paintEvent(QPaintEvent *e) { p.setOpacity(hover); p.setBrush(st::emojiPanHover->b); p.setPen(Qt::NoPen); - p.drawRoundedRect(QRect(pos, QSize(stickerSize, stickerSize)), st::stickerPanRound, st::stickerPanRound); + QPoint tl(pos); + if (rtl()) tl.setX(width() - tl.x() - stickerSize); + p.drawRoundedRect(QRect(tl, QSize(stickerSize, stickerSize)), st::stickerPanRound, st::stickerPanRound); p.setOpacity(1); } @@ -892,9 +898,9 @@ void EmojiPanInner::paintEvent(QPaintEvent *e) { if (h < 1) h = 1; QPoint ppos = pos + QPoint((stickerSize - w) / 2, (stickerSize - h) / 2); if (sticker->sticker->isNull()) { - p.drawPixmap(ppos, sticker->thumb->pix(w, h)); + p.drawPixmapLeft(ppos, width(), sticker->thumb->pix(w, h)); } else { - p.drawPixmap(ppos, sticker->sticker->pix(w, h)); + p.drawPixmapLeft(ppos, width(), sticker->sticker->pix(w, h)); } if (hover > 0 && _isUserGen[index]) { @@ -902,7 +908,7 @@ void EmojiPanInner::paintEvent(QPaintEvent *e) { QPoint xPos = pos + QPoint(stickerWidth - st::stickerPanDelete.pxWidth(), 0); p.setOpacity(hover * (xHover + (1 - xHover) * st::stickerPanDeleteOpacity)); - p.drawPixmap(xPos, App::sprite(), st::stickerPanDelete); + p.drawPixmapLeft(xPos, width(), App::sprite(), st::stickerPanDelete); p.setOpacity(1); } } @@ -1049,7 +1055,9 @@ void EmojiPanInner::onShowPicker() { y += _picker.height() - st::emojiPanRound + st::emojiPanSize.height() - st::emojiPanRound; } int xmax = width() - _picker.width() - st::emojiPanPadding.right(); - _picker.move(qRound(xmax * float64(sel % EmojiPadPerRow) / float64(EmojiPadPerRow - 1)), y); + float64 coef = float64(sel % EmojiPadPerRow) / float64(EmojiPadPerRow - 1); + if (rtl()) coef = 1. - coef; + _picker.move(qRound(xmax * coef), y); _picker.showEmoji(_emojis[tab][sel]->code); emit disableScroll(true); @@ -1171,15 +1179,15 @@ void EmojiPanInner::updateSelected() { int32 selIndex = -1; QPoint p(mapFromGlobal(_lastMousePos)); - int y, ytill = 0; + int y, ytill = 0, sx = (rtl() ? width() - p.x() : p.x()); for (int c = 0; c < emojiTabCount; ++c) { int cnt = _counts[c]; y = ytill; ytill = y + st::emojiPanHeader + ((cnt / EmojiPadPerRow) + ((cnt % EmojiPadPerRow) ? 1 : 0)) * st::emojiPanSize.height(); if (p.y() >= y && p.y() < ytill) { y += st::emojiPanHeader; - if (p.y() >= y && p.x() >= 0 && p.x() < EmojiPadPerRow * st::emojiPanSize.width()) { - selIndex = qFloor((p.y() - y) / st::emojiPanSize.height()) * EmojiPadPerRow + qFloor(p.x() / st::emojiPanSize.width()); + if (p.y() >= y && sx >= 0 && sx < EmojiPadPerRow * st::emojiPanSize.width()) { + selIndex = qFloor((p.y() - y) / st::emojiPanSize.height()) * EmojiPadPerRow + qFloor(sx / st::emojiPanSize.width()); if (selIndex >= _emojis[c].size()) { selIndex = -1; } else { @@ -1193,12 +1201,12 @@ void EmojiPanInner::updateSelected() { if (p.y() >= ytill) { float64 stickerWidth = width() / float64(StickerPadPerRow); int32 stickerSize = int32(stickerWidth); - if (p.x() >= 0 && p.x() < StickerPadPerRow * stickerWidth) { - selIndex = qFloor((p.y() - ytill) / stickerSize) * StickerPadPerRow + qFloor(p.x() / stickerWidth); + if (sx >= 0 && sx < StickerPadPerRow * stickerWidth) { + selIndex = qFloor((p.y() - ytill) / stickerSize) * StickerPadPerRow + qFloor(sx / stickerWidth); if (selIndex >= _stickers.size()) { selIndex = -1; } else { - int32 inx = p.x() - (selIndex % StickerPadPerRow) * stickerWidth, iny = p.y() - ytill - ((selIndex / StickerPadPerRow) * stickerSize); + int32 inx = sx - (selIndex % StickerPadPerRow) * stickerWidth, iny = p.y() - ytill - ((selIndex / StickerPadPerRow) * stickerSize); if (inx >= stickerWidth - st::stickerPanDelete.pxWidth() && iny < st::stickerPanDelete.pxHeight()) { selIndex = _stickers.size() + selIndex; } @@ -1314,27 +1322,30 @@ _scroll(this, st::emojiScroll), _inner() { _scroll.setFocusPolicy(Qt::NoFocus); _scroll.viewport()->setFocusPolicy(Qt::NoFocus); - _scroll.setGeometry(st::dropdownDef.padding.left() + st::emojiPanPadding.left(), st::dropdownDef.padding.top() + _recent.height() + st::emojiPanPadding.top(), st::emojiPanPadding.left() + _inner.width() + st::emojiPanPadding.right(), EmojiPadRowsPerPage * st::emojiPanSize.height() + st::emojiPanHeader); - _scroll.setWidget(&_inner); - - _inner.setAttribute(Qt::WA_OpaquePaintEvent); - _scroll.setAutoFillBackground(true); + _scroll.resize(st::emojiPanPadding.left() + _inner.width() + st::emojiPanPadding.right(), EmojiPadRowsPerPage * st::emojiPanSize.height() + st::emojiPanHeader); _width = st::dropdownDef.padding.left() + st::emojiPanPadding.left() + _scroll.width() + st::emojiPanPadding.right() + st::dropdownDef.padding.right(); _height = st::dropdownDef.padding.top() + _recent.height() + st::emojiPanPadding.top() + _scroll.height() + st::emojiPanPadding.bottom() + st::dropdownDef.padding.bottom(); resize(_width, _height); + int32 sx = st::dropdownDef.padding.left() + st::emojiPanPadding.left(), sy = st::dropdownDef.padding.top() + _recent.height() + st::emojiPanPadding.top(); + _scroll.move(rtl() ? (_width - _scroll.width() - sx) : sx, sy); + _scroll.setWidget(&_inner); + + _inner.setAttribute(Qt::WA_OpaquePaintEvent); + _scroll.setAutoFillBackground(true); + int32 left = st::dropdownDef.padding.left() + (_width - st::dropdownDef.padding.left() - st::dropdownDef.padding.right() - 9 * _recent.width()) / 2; int32 top = st::dropdownDef.padding.top(); - _recent.move(left , top); left += _recent.width(); - _people.move(left , top); left += _people.width(); - _nature.move(left , top); left += _nature.width(); - _food.move(left , top); left += _food.width(); - _celebration.move(left, top); left += _celebration.width(); - _activity.move(left , top); left += _activity.width(); - _travel.move(left , top); left += _travel.width(); - _objects.move(left , top); left += _objects.width(); - _stickers.move(left , top); left += _stickers.width(); + _recent.moveToLeft(left , top, _width); left += _recent.width(); + _people.moveToLeft(left , top, _width); left += _people.width(); + _nature.moveToLeft(left , top, _width); left += _nature.width(); + _food.moveToLeft(left , top, _width); left += _food.width(); + _celebration.moveToLeft(left, top, _width); left += _celebration.width(); + _activity.moveToLeft(left , top, _width); left += _activity.width(); + _travel.moveToLeft(left , top, _width); left += _travel.width(); + _objects.moveToLeft(left , top, _width); left += _objects.width(); + _stickers.moveToLeft(left , top, _width); left += _stickers.width(); _hideTimer.setSingleShot(true); connect(&_hideTimer, SIGNAL(timeout()), this, SLOT(hideStart())); diff --git a/Telegram/SourceFiles/gui/scrollarea.cpp b/Telegram/SourceFiles/gui/scrollarea.cpp index b8d90092b..b02b7a965 100644 --- a/Telegram/SourceFiles/gui/scrollarea.cpp +++ b/Telegram/SourceFiles/gui/scrollarea.cpp @@ -258,6 +258,8 @@ hor(this, false, &_st), vert(this, true, &_st), topSh(this, &_st), bottomSh(this _touchEnabled(handleTouch), _touchScroll(false), _touchPress(false), _touchRightButton(false), _touchScrollState(TouchScrollManual), _touchPrevPosValid(false), _touchWaitingAcceleration(false), _touchSpeedTime(0), _touchAccelerationTime(0), _touchTime(0), _widgetAcceptsTouch(false) { + setLayoutDirection(cLangDir()); + connect(horizontalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(onScrolled())); connect(verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(onScrolled())); connect(&vert, SIGNAL(topShadowVisibility(bool)), &topSh, SLOT(changeVisibility(bool))); diff --git a/Telegram/SourceFiles/gui/twidget.h b/Telegram/SourceFiles/gui/twidget.h index 83e15d8dd..24c3f16db 100644 --- a/Telegram/SourceFiles/gui/twidget.h +++ b/Telegram/SourceFiles/gui/twidget.h @@ -56,12 +56,24 @@ public: void drawPixmapLeft(const QPoint &p, int outerw, const QPixmap &pix, const QRect &from) { return drawPixmapLeft(p.x(), p.y(), outerw, pix, from); } + void drawPixmapLeft(int x, int y, int outerw, const QPixmap &pix) { + drawPixmap(QPoint(rtl() ? (outerw - x - (pix.width() / pix.devicePixelRatio())) : x, y), pix); + } + void drawPixmapLeft(const QPoint &p, int outerw, const QPixmap &pix) { + return drawPixmapLeft(p.x(), p.y(), outerw, pix); + } void drawPixmapRight(int x, int y, int outerw, const QPixmap &pix, const QRect &from) { drawPixmap(QPoint(rtl() ? x : (outerw - x - (from.width() / pix.devicePixelRatio())), y), pix, from); } void drawPixmapRight(const QPoint &p, int outerw, const QPixmap &pix, const QRect &from) { return drawPixmapRight(p.x(), p.y(), outerw, pix, from); } + void drawPixmapRight(int x, int y, int outerw, const QPixmap &pix) { + drawPixmap(QPoint(rtl() ? x : (outerw - x - (pix.width() / pix.devicePixelRatio())), y), pix); + } + void drawPixmapRight(const QPoint &p, int outerw, const QPixmap &pix) { + return drawPixmapRight(p.x(), p.y(), outerw, pix); + } void drawSprite(int x, int y, const style::sprite &sprite) { return drawPixmap(QPoint(x, y), App::sprite(), sprite); } diff --git a/Telegram/SourceFiles/settings.cpp b/Telegram/SourceFiles/settings.cpp index c0a09c051..8cdff2a54 100644 --- a/Telegram/SourceFiles/settings.cpp +++ b/Telegram/SourceFiles/settings.cpp @@ -20,8 +20,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org #include "settings.h" #include "lang.h" -bool gRtl = false; -Qt::LayoutDirection gLangDir = Qt::LeftToRight; +bool gRtl = true; +Qt::LayoutDirection gLangDir = Qt::RightToLeft; mtpDcOptions gDcOptions; diff --git a/Telegram/SourceFiles/telegram.qrc b/Telegram/SourceFiles/telegram.qrc index 18b9a5325..3418022e0 100644 --- a/Telegram/SourceFiles/telegram.qrc +++ b/Telegram/SourceFiles/telegram.qrc @@ -10,15 +10,9 @@ art/sprite_125x.png art/sprite_150x.png art/sprite_200x.png - art/emoji.webp - art/emoji_125x.webp - art/emoji_150x.webp - art/emoji_200x.webp - art/emoji_250x.webp art/blank.gif art/icon256.png art/iconbig256.png - art/osxtray.png art/chatcolor1.png @@ -37,15 +31,12 @@ qmime/freedesktop.org.xml - - etc/qt_win.conf - langs/lang_it.strings langs/lang_es.strings langs/lang_de.strings langs/lang_nl.strings langs/lang_pt_BR.strings - langs/lang_ko.strings + langs/lang_ko.strings diff --git a/Telegram/SourceFiles/telegram_emojis.qrc b/Telegram/SourceFiles/telegram_emojis.qrc new file mode 100644 index 000000000..cff8f5f21 --- /dev/null +++ b/Telegram/SourceFiles/telegram_emojis.qrc @@ -0,0 +1,9 @@ + + + art/emoji.webp + art/emoji_125x.webp + art/emoji_150x.webp + art/emoji_200x.webp + art/emoji_250x.webp + + diff --git a/Telegram/SourceFiles/telegram_linux.qrc b/Telegram/SourceFiles/telegram_linux.qrc index 8083a827e..a228646fb 100644 --- a/Telegram/SourceFiles/telegram_linux.qrc +++ b/Telegram/SourceFiles/telegram_linux.qrc @@ -1,49 +1,5 @@ - - art/fonts/OpenSans-Regular.ttf - art/fonts/OpenSans-Bold.ttf - art/fonts/OpenSans-Semibold.ttf - art/newmsg.wav - art/bg.jpg - art/bg0.png - art/sprite.png - art/sprite_125x.png - art/sprite_150x.png - art/sprite_200x.png - art/emoji.webp - art/emoji_125x.webp - art/emoji_150x.webp - art/emoji_200x.webp - art/emoji_250x.webp - art/blank.gif - art/icon256.png - - - art/chatcolor1.png - art/chatcolor2.png - art/chatcolor3.png - art/chatcolor4.png - art/usercolor1.png - art/usercolor2.png - art/usercolor3.png - art/usercolor4.png - art/usercolor5.png - art/usercolor6.png - art/usercolor7.png - art/usercolor8.png - - - qmime/freedesktop.org.xml - - - etc/qt_linux.conf - - - langs/lang_it.strings - langs/lang_es.strings - langs/lang_de.strings - langs/lang_nl.strings - langs/lang_pt_BR.strings - langs/lang_ko.strings - + + etc/qt_linux.conf + diff --git a/Telegram/SourceFiles/telegram_mac.qrc b/Telegram/SourceFiles/telegram_mac.qrc new file mode 100644 index 000000000..8feea0191 --- /dev/null +++ b/Telegram/SourceFiles/telegram_mac.qrc @@ -0,0 +1,5 @@ + + + art/osxtray.png + + diff --git a/Telegram/SourceFiles/telegram_wnd.qrc b/Telegram/SourceFiles/telegram_wnd.qrc new file mode 100644 index 000000000..f09424af0 --- /dev/null +++ b/Telegram/SourceFiles/telegram_wnd.qrc @@ -0,0 +1,5 @@ + + + etc/qt_win.conf + + diff --git a/Telegram/Telegram.plist b/Telegram/Telegram.plist index 62a9f5d03..b5ab6b4e3 100644 --- a/Telegram/Telegram.plist +++ b/Telegram/Telegram.plist @@ -11,7 +11,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.8.11 + 0.8.12 CFBundleSignature ???? CFBundleURLTypes diff --git a/Telegram/Telegram.pro b/Telegram/Telegram.pro index ec2a42937..c93b9d639 100644 --- a/Telegram/Telegram.pro +++ b/Telegram/Telegram.pro @@ -302,7 +302,9 @@ LIBS += -lcrypto -lssl -lz -ldl -llzma -lexif -lopus -lopusfile -logg -lopenal LIBS += ./../../../Libraries/QtStatic/qtbase/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.a RESOURCES += \ - ./SourceFiles/telegram_linux.qrc + ./SourceFiles/telegram.qrc \ + ./SourceFiles/telegram_linux.qrc \ + ./SourceFiles/telegram_emojis.qrc OTHER_FILES += \ Resources/style_classes.txt \ diff --git a/Telegram/Telegram.rc b/Telegram/Telegram.rc index dde5043b6..85149233b 100644 Binary files a/Telegram/Telegram.rc and b/Telegram/Telegram.rc differ diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index c30453a60..9a2f7415e 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -671,6 +671,22 @@ + + + + + + + + + + + + + + + + true true @@ -1996,12 +2012,42 @@ - %(FullPath);.\SourceFiles\art\icon.png;.\SourceFiles\art\segoe_ui.ttf;.\SourceFiles\art\sysicons.png;.\SourceFiles\art\iconf.png;%(AdditionalInputs) + %(FullPath);.\SourceFiles\art\icon256.png;%(AdditionalInputs) Rcc%27ing %(Identity)... .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp - %(FullPath);.\SourceFiles\art\icon.png;.\SourceFiles\art\segoe_ui.ttf;.\SourceFiles\art\sysicons.png;.\SourceFiles\art\iconf.png;%(AdditionalInputs) - %(FullPath);.\SourceFiles\art\icon.png;.\SourceFiles\art\segoe_ui.ttf;.\SourceFiles\art\sysicons.png;.\SourceFiles\art\iconf.png;%(AdditionalInputs) + %(FullPath);.\SourceFiles\art\icon256.png;%(AdditionalInputs) + %(FullPath);.\SourceFiles\art\icon256.png;%(AdditionalInputs) + Rcc%27ing %(Identity)... + Rcc%27ing %(Identity)... + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + Designer + + + %(FullPath);.\SourceFiles\art\emoji.webp;%(AdditionalInputs) + Rcc%27ing %(Identity)... + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + %(FullPath);.\SourceFiles\art\emoji.webp;%(AdditionalInputs) + %(FullPath);.\SourceFiles\art\emoji.webp;%(AdditionalInputs) + Rcc%27ing %(Identity)... + Rcc%27ing %(Identity)... + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + Designer + + + %(FullPath);.\SourceFiles\etc\qt_win.conf;%(AdditionalInputs) + Rcc%27ing %(Identity)... + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + %(FullPath);.\SourceFiles\etc\qt_win.conf;%(AdditionalInputs) + %(FullPath);.\SourceFiles\etc\qt_win.conf;%(AdditionalInputs) Rcc%27ing %(Identity)... Rcc%27ing %(Identity)... .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index d403d05bc..32822c2ce 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -75,6 +75,12 @@ Generated Files + + Generated Files + + + Generated Files + gui @@ -1127,6 +1133,8 @@ + + boxes diff --git a/Telegram/Telegram.xcodeproj/project.pbxproj b/Telegram/Telegram.xcodeproj/project.pbxproj index a41c9de63..ffd4b102b 100644 --- a/Telegram/Telegram.xcodeproj/project.pbxproj +++ b/Telegram/Telegram.xcodeproj/project.pbxproj @@ -1671,7 +1671,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.8.11; + CURRENT_PROJECT_VERSION = 0.8.12; DEBUG_INFORMATION_FORMAT = dwarf; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -1689,7 +1689,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 0.8.11; + CURRENT_PROJECT_VERSION = 0.8.12; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = fast; GCC_PREFIX_HEADER = ./SourceFiles/stdafx.h; @@ -1715,10 +1715,10 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.8.11; + CURRENT_PROJECT_VERSION = 0.8.12; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DYLIB_COMPATIBILITY_VERSION = 0.8; - DYLIB_CURRENT_VERSION = 0.8.11; + DYLIB_CURRENT_VERSION = 0.8.12; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; @@ -1857,10 +1857,10 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.8.11; + CURRENT_PROJECT_VERSION = 0.8.12; DEBUG_INFORMATION_FORMAT = dwarf; DYLIB_COMPATIBILITY_VERSION = 0.8; - DYLIB_CURRENT_VERSION = 0.8.11; + DYLIB_CURRENT_VERSION = 0.8.12; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; diff --git a/Telegram/Telegram.xcodeproj/qt_preprocess.mak b/Telegram/Telegram.xcodeproj/qt_preprocess.mak index 18daacb89..db286cff1 100644 --- a/Telegram/Telegram.xcodeproj/qt_preprocess.mak +++ b/Telegram/Telegram.xcodeproj/qt_preprocess.mak @@ -31,7 +31,7 @@ mocables: compiler_moc_header_make_all compiler_moc_source_make_all check: first -compilers: GeneratedFiles/qrc_telegram.cpp GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp\ +compilers: GeneratedFiles/qrc_telegram.cpp GeneratedFiles/qrc_telegram_emojis.cpp GeneratedFiles/qrc_telegram_mac.cpp GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp\ GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp\ GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp\ GeneratedFiles/Debug/moc_passcodewidget.cpp\ @@ -57,26 +57,21 @@ compiler_objective_c_make_all: compiler_objective_c_clean: compiler_no_pch_compiler_make_all: compiler_no_pch_compiler_clean: -compiler_rcc_make_all: GeneratedFiles/qrc_telegram.cpp +compiler_rcc_make_all: GeneratedFiles/qrc_telegram.cpp GeneratedFiles/qrc_telegram_emojis.cpp GeneratedFiles/qrc_telegram_mac.cpp compiler_rcc_clean: - -$(DEL_FILE) GeneratedFiles/qrc_telegram.cpp + -$(DEL_FILE) GeneratedFiles/qrc_telegram.cpp GeneratedFiles/qrc_telegram_emojis.cpp GeneratedFiles/qrc_telegram_mac.cpp GeneratedFiles/qrc_telegram.cpp: SourceFiles/telegram.qrc \ - SourceFiles/art/emoji.webp \ SourceFiles/art/blank.gif \ SourceFiles/art/bg.jpg \ SourceFiles/art/sprite_150x.png \ SourceFiles/art/sprite.png \ SourceFiles/art/icon256.png \ - SourceFiles/art/emoji_150x.webp \ SourceFiles/art/sprite_200x.png \ SourceFiles/art/newmsg.wav \ SourceFiles/art/sprite_125x.png \ - SourceFiles/art/emoji_200x.webp \ - SourceFiles/art/emoji_250x.webp \ - SourceFiles/art/emoji_125x.webp \ SourceFiles/art/fonts/OpenSans-Regular.ttf \ - SourceFiles/art/fonts/OpenSans-Bold.ttf \ - SourceFiles/art/fonts/OpenSans-Semibold.ttf \ + SourceFiles/art/fonts/OpenSans-Bold.ttf \ + SourceFiles/art/fonts/OpenSans-Semibold.ttf \ SourceFiles/qmime/freedesktop.org.xml \ SourceFiles/art/usercolor4.png \ SourceFiles/art/chatcolor1.png \ @@ -92,6 +87,18 @@ GeneratedFiles/qrc_telegram.cpp: SourceFiles/telegram.qrc \ SourceFiles/art/chatcolor2.png /usr/local/Qt-5.4.0/bin/rcc -name telegram SourceFiles/telegram.qrc -o GeneratedFiles/qrc_telegram.cpp +GeneratedFiles/qrc_telegram_emojis.cpp: SourceFiles/telegram_emojis.qrc \ + SourceFiles/art/emoji.webp \ + SourceFiles/art/emoji_150x.webp \ + SourceFiles/art/emoji_200x.webp \ + SourceFiles/art/emoji_250x.webp \ + SourceFiles/art/emoji_125x.webp + /usr/local/Qt-5.4.0/bin/rcc -name telegram_emojis SourceFiles/telegram_emojis.qrc -o GeneratedFiles/qrc_telegram_emojis.cpp + +GeneratedFiles/qrc_telegram_mac.cpp: SourceFiles/telegram_mac.qrc \ + SourceFiles/art/osxtray.png + /usr/local/Qt-5.4.0/bin/rcc -name telegram_mac SourceFiles/telegram_mac.qrc -o GeneratedFiles/qrc_telegram_mac.cpp + compiler_moc_header_make_all: GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp GeneratedFiles/Debug/moc_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_mtp.cpp GeneratedFiles/Debug/moc_mtpConnection.cpp GeneratedFiles/Debug/moc_mtpDC.cpp GeneratedFiles/Debug/moc_mtpFileLoader.cpp GeneratedFiles/Debug/moc_mtpSession.cpp GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp GeneratedFiles/Debug/moc_contextmenu.cpp GeneratedFiles/Debug/moc_countrycodeinput.cpp GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp GeneratedFiles/Debug/moc_switcher.cpp GeneratedFiles/Debug/moc_phoneinput.cpp GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_abstractbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp GeneratedFiles/Debug/moc_autolockbox.cpp GeneratedFiles/Debug/moc_backgroundbox.cpp GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp GeneratedFiles/Debug/moc_passcodebox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_sessionsbox.cpp GeneratedFiles/Debug/moc_usernamebox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_intropwdcheck.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp compiler_moc_header_clean: -$(DEL_FILE) GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp GeneratedFiles/Debug/moc_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_mtp.cpp GeneratedFiles/Debug/moc_mtpConnection.cpp GeneratedFiles/Debug/moc_mtpDC.cpp GeneratedFiles/Debug/moc_mtpFileLoader.cpp GeneratedFiles/Debug/moc_mtpSession.cpp GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp GeneratedFiles/Debug/moc_contextmenu.cpp GeneratedFiles/Debug/moc_countrycodeinput.cpp GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp GeneratedFiles/Debug/moc_switcher.cpp GeneratedFiles/Debug/moc_phoneinput.cpp GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_abstractbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp GeneratedFiles/Debug/moc_autolockbox.cpp GeneratedFiles/Debug/moc_backgroundbox.cpp GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp GeneratedFiles/Debug/moc_passcodebox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_sessionsbox.cpp GeneratedFiles/Debug/moc_usernamedbox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_intropwdcheck.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp diff --git a/Telegram/Version.sh b/Telegram/Version.sh index 68fba39d2..14f23eb86 100755 --- a/Telegram/Version.sh +++ b/Telegram/Version.sh @@ -1,2 +1,2 @@ -echo 8011 0.8.11 0 +echo 8012 0.8.12 1 # AppVersion AppVersionStr DevChannel