diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index c7e3a083b0..030b0c9bb6 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -1642,5 +1642,5 @@ usernameCancel: flatButton(btnSelectCancel) { } youtubeIcon: sprite(336px, 221px, 60px, 60px); -instagramIcon: sprite(336px, 283px, 60px, 60px); +vimeoIcon: sprite(336px, 283px, 60px, 60px); locationSize: size(320, 240); diff --git a/Telegram/Setup.iss b/Telegram/Setup.iss index 9430e6c86d..49068b73b9 100644 --- a/Telegram/Setup.iss +++ b/Telegram/Setup.iss @@ -25,7 +25,7 @@ DefaultGroupName={#MyAppName} AllowNoIcons=yes OutputDir=.\..\Win32\Deploy OutputBaseFilename=tsetup.{#MyAppVersionZero} -SetupIconFile=.\SourceFiles\art\iconround256.ico +SetupIconFile=.\SourceFiles\art\icon256.ico UninstallDisplayIcon={app}\Telegram.exe Compression=lzma SolidCompression=yes diff --git a/Telegram/SourceFiles/art/favicon.ico b/Telegram/SourceFiles/art/favicon.ico index 5f62ac8a6b..11474318b3 100644 Binary files a/Telegram/SourceFiles/art/favicon.ico and b/Telegram/SourceFiles/art/favicon.ico differ diff --git a/Telegram/SourceFiles/art/icon.ico b/Telegram/SourceFiles/art/icon.ico deleted file mode 100644 index e6e430ee19..0000000000 Binary files a/Telegram/SourceFiles/art/icon.ico and /dev/null differ diff --git a/Telegram/SourceFiles/art/icon128.png b/Telegram/SourceFiles/art/icon128.png new file mode 100644 index 0000000000..103c5c9101 Binary files /dev/null and b/Telegram/SourceFiles/art/icon128.png differ diff --git a/Telegram/SourceFiles/art/icon128@2x.png b/Telegram/SourceFiles/art/icon128@2x.png new file mode 100644 index 0000000000..6e09c29ddf Binary files /dev/null and b/Telegram/SourceFiles/art/icon128@2x.png differ diff --git a/Telegram/SourceFiles/art/icon16.png b/Telegram/SourceFiles/art/icon16.png new file mode 100644 index 0000000000..c15f5a9da7 Binary files /dev/null and b/Telegram/SourceFiles/art/icon16.png differ diff --git a/Telegram/SourceFiles/art/icon16@2x.png b/Telegram/SourceFiles/art/icon16@2x.png new file mode 100644 index 0000000000..214be0fbd6 Binary files /dev/null and b/Telegram/SourceFiles/art/icon16@2x.png differ diff --git a/Telegram/SourceFiles/art/icon2.ico b/Telegram/SourceFiles/art/icon2.ico new file mode 100644 index 0000000000..498c8b8f84 Binary files /dev/null and b/Telegram/SourceFiles/art/icon2.ico differ diff --git a/Telegram/SourceFiles/art/icon256.ico b/Telegram/SourceFiles/art/icon256.ico new file mode 100644 index 0000000000..33cf4ea80f Binary files /dev/null and b/Telegram/SourceFiles/art/icon256.ico differ diff --git a/Telegram/SourceFiles/art/icon256.png b/Telegram/SourceFiles/art/icon256.png new file mode 100644 index 0000000000..6e09c29ddf Binary files /dev/null and b/Telegram/SourceFiles/art/icon256.png differ diff --git a/Telegram/SourceFiles/art/icon256@2x.png b/Telegram/SourceFiles/art/icon256@2x.png new file mode 100644 index 0000000000..019795054a Binary files /dev/null and b/Telegram/SourceFiles/art/icon256@2x.png differ diff --git a/Telegram/SourceFiles/art/icon32.ico b/Telegram/SourceFiles/art/icon32.ico new file mode 100644 index 0000000000..a7acfad160 Binary files /dev/null and b/Telegram/SourceFiles/art/icon32.ico differ diff --git a/Telegram/SourceFiles/art/icon32.png b/Telegram/SourceFiles/art/icon32.png new file mode 100644 index 0000000000..214be0fbd6 Binary files /dev/null and b/Telegram/SourceFiles/art/icon32.png differ diff --git a/Telegram/SourceFiles/art/icon32@2x.png b/Telegram/SourceFiles/art/icon32@2x.png new file mode 100644 index 0000000000..eae1706f3b Binary files /dev/null and b/Telegram/SourceFiles/art/icon32@2x.png differ diff --git a/Telegram/SourceFiles/art/icon48.png b/Telegram/SourceFiles/art/icon48.png new file mode 100644 index 0000000000..74e2d0cc03 Binary files /dev/null and b/Telegram/SourceFiles/art/icon48.png differ diff --git a/Telegram/SourceFiles/art/icon48@2x.png b/Telegram/SourceFiles/art/icon48@2x.png new file mode 100644 index 0000000000..40dc0000ed Binary files /dev/null and b/Telegram/SourceFiles/art/icon48@2x.png differ diff --git a/Telegram/SourceFiles/art/icon512.png b/Telegram/SourceFiles/art/icon512.png new file mode 100644 index 0000000000..019795054a Binary files /dev/null and b/Telegram/SourceFiles/art/icon512.png differ diff --git a/Telegram/SourceFiles/art/icon512@2x.png b/Telegram/SourceFiles/art/icon512@2x.png new file mode 100644 index 0000000000..0972bff347 Binary files /dev/null and b/Telegram/SourceFiles/art/icon512@2x.png differ diff --git a/Telegram/SourceFiles/art/icon64.png b/Telegram/SourceFiles/art/icon64.png new file mode 100644 index 0000000000..eae1706f3b Binary files /dev/null and b/Telegram/SourceFiles/art/icon64.png differ diff --git a/Telegram/SourceFiles/art/icon64@2x.png b/Telegram/SourceFiles/art/icon64@2x.png new file mode 100644 index 0000000000..103c5c9101 Binary files /dev/null and b/Telegram/SourceFiles/art/icon64@2x.png differ diff --git a/Telegram/SourceFiles/art/iconbig.png b/Telegram/SourceFiles/art/iconbig.png deleted file mode 100644 index fb3d3c1757..0000000000 Binary files a/Telegram/SourceFiles/art/iconbig.png and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconbig128.png b/Telegram/SourceFiles/art/iconbig128.png deleted file mode 100644 index 32b44a5eae..0000000000 Binary files a/Telegram/SourceFiles/art/iconbig128.png and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconround128.png b/Telegram/SourceFiles/art/iconround128.png deleted file mode 100644 index 79c3efba3b..0000000000 Binary files a/Telegram/SourceFiles/art/iconround128.png and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconround16.png b/Telegram/SourceFiles/art/iconround16.png deleted file mode 100644 index 94617bb4c0..0000000000 Binary files a/Telegram/SourceFiles/art/iconround16.png and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconround256.ico b/Telegram/SourceFiles/art/iconround256.ico deleted file mode 100644 index 718f5a706a..0000000000 Binary files a/Telegram/SourceFiles/art/iconround256.ico and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconround256.png b/Telegram/SourceFiles/art/iconround256.png deleted file mode 100644 index 92566ae160..0000000000 Binary files a/Telegram/SourceFiles/art/iconround256.png and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconroundbig.ico b/Telegram/SourceFiles/art/iconroundbig.ico deleted file mode 100644 index 0d81d10812..0000000000 Binary files a/Telegram/SourceFiles/art/iconroundbig.ico and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconroundbig.png b/Telegram/SourceFiles/art/iconroundbig.png deleted file mode 100644 index 9b249bac3f..0000000000 Binary files a/Telegram/SourceFiles/art/iconroundbig.png and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconrounddark.bmp b/Telegram/SourceFiles/art/iconrounddark.bmp deleted file mode 100644 index e09bb6a0ee..0000000000 Binary files a/Telegram/SourceFiles/art/iconrounddark.bmp and /dev/null differ diff --git a/Telegram/SourceFiles/art/iconroundfull.png b/Telegram/SourceFiles/art/iconroundfull.png deleted file mode 100644 index 7576358c38..0000000000 Binary files a/Telegram/SourceFiles/art/iconroundfull.png and /dev/null differ diff --git a/Telegram/SourceFiles/art/sprite.png b/Telegram/SourceFiles/art/sprite.png index f7c063b2f8..b712de59cf 100644 Binary files a/Telegram/SourceFiles/art/sprite.png and b/Telegram/SourceFiles/art/sprite.png differ diff --git a/Telegram/SourceFiles/art/sprite_200x.png b/Telegram/SourceFiles/art/sprite_200x.png index 7136046cba..7ef8f79a6d 100644 Binary files a/Telegram/SourceFiles/art/sprite_200x.png and b/Telegram/SourceFiles/art/sprite_200x.png differ diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index 3018a97219..a71c5452c8 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -3115,9 +3115,10 @@ void HistoryContact::updateFrom(const MTPMessageMedia &media) { } namespace { - QRegularExpression reYouTube1(qsl("^(https?://)?(www\\.|m\\.)?youtube\\.com/watch\\?([^#]+&)?v=([a-z0-9_-]+)(&|$)"), QRegularExpression::CaseInsensitiveOption); - QRegularExpression reYouTube2(qsl("^(https?://)?(www\\.)?youtu\\.be/([a-z0-9_-]+)(\\?|$)"), QRegularExpression::CaseInsensitiveOption); - QRegularExpression reInstagram(qsl("^(https?://)?(www\\.)?instagram\\.com/p/([a-z0-9_-]+)(/|$)"), QRegularExpression::CaseInsensitiveOption); + QRegularExpression reYouTube1(qsl("^(https?://)?(www\\.|m\\.)?youtube\\.com/watch\\?([^#]+&)?v=([a-z0-9_-]+)(&[^\\s]*)?$"), QRegularExpression::CaseInsensitiveOption); + QRegularExpression reYouTube2(qsl("^(https?://)?(www\\.)?youtu\\.be/([a-z0-9_-]+)([/\\?][^\\s]*)?$"), QRegularExpression::CaseInsensitiveOption); + QRegularExpression reInstagram(qsl("^(https?://)?(www\\.)?instagram\\.com/p/([a-z0-9_-]+)([/\\?][^\\s]*)?$"), QRegularExpression::CaseInsensitiveOption); + QRegularExpression reVimeo(qsl("^(https?://)?(www\\.)?vimeo\\.com/([0-9]+)([/\\?][^\\s]*)?$"), QRegularExpression::CaseInsensitiveOption); ImageLinkManager manager; } @@ -3183,6 +3184,11 @@ void ImageLinkManager::getData(ImageLinkData *data) { QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url))); dataLoadings[reply] = data; } break; + case VimeoLink: { + url = qsl("https://vimeo.com/api/v2/video/") + data->id.mid(6) + qsl(".json"); + QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url))); + dataLoadings[reply] = data; + } break; case InstagramLink: { //url = qsl("https://api.instagram.com/oembed?url=http://instagr.am/p/") + data->id.mid(10) + '/'; url = qsl("https://instagram.com/p/") + data->id.mid(10) + qsl("/media/?size=l"); @@ -3262,9 +3268,9 @@ void ImageLinkManager::onFinished(QNetworkReply *reply) { DEBUG_LOG(("JSON Error: Bad json received in onFinished() for image link")); return onFailed(reply); } - QJsonObject obj = doc.object(); switch (d->type) { case YouTubeLink: { + QJsonObject obj = doc.object(); QString thumb; int32 seconds = 0; QJsonObject::const_iterator entryIt = obj.constFind(qsl("entry")); @@ -3360,6 +3366,39 @@ void ImageLinkManager::onFinished(QNetworkReply *reply) { imageLoadings.insert(manager->get(QNetworkRequest(thumb)), d); } } break; + + case VimeoLink: { + QString thumb; + int32 seconds = 0; + QJsonArray arr = doc.array(); + if (!arr.isEmpty()) { + QJsonObject obj = arr.at(0).toObject(); + QJsonObject::const_iterator titleIt = obj.constFind(qsl("title")); + if (titleIt != obj.constEnd() && titleIt.value().isString()) { + d->title = titleIt.value().toString(); + } + QJsonObject::const_iterator thumbnailsIt = obj.constFind(qsl("thumbnail_large")); + if (thumbnailsIt != obj.constEnd() && thumbnailsIt.value().isString()) { + thumb = thumbnailsIt.value().toString(); + } + QJsonObject::const_iterator secondsIt = obj.constFind(qsl("duration")); + if (secondsIt != obj.constEnd()) { + if (secondsIt.value().isDouble()) { + seconds = qRound(secondsIt.value().toDouble()); + } else if (secondsIt.value().isString()) { + seconds = qRound(secondsIt.value().toString().toDouble()); + } + } + } + if (seconds > 0) { + d->duration = formatDurationText(seconds); + } + if (thumb.isEmpty()) { + failed(d); + } else { + imageLoadings.insert(manager->get(QNetworkRequest(thumb)), d); + } + } break; case InstagramLink: failed(d); break; case GoogleMapsLink: failed(d); break; @@ -3430,8 +3469,11 @@ HistoryImageLink::HistoryImageLink(const QString &url, int32 width) : HistoryMed if (url.startsWith(qsl("location:"))) { QString lnk = qsl("https://maps.google.com/maps?q=") + url.mid(9) + qsl("&ll=") + url.mid(9) + qsl("&z=17"); link.reset(new TextLink(lnk)); + data = App::imageLink(url, GoogleMapsLink, lnk); } else { + link.reset(new TextLink(url)); + int matchIndex = 4; QRegularExpressionMatch m = reYouTube1.match(url); if (!m.hasMatch()) { @@ -3439,16 +3481,19 @@ HistoryImageLink::HistoryImageLink(const QString &url, int32 width) : HistoryMed matchIndex = 3; } if (m.hasMatch()) { - link.reset(new TextLink(url)); data = App::imageLink(qsl("youtube:") + m.captured(matchIndex), YouTubeLink, url); } else { - m = reInstagram.match(url); + m = reVimeo.match(url); if (m.hasMatch()) { - link.reset(new TextLink(url)); - data = App::imageLink(qsl("instagram:") + m.captured(3), InstagramLink, url); - data->title = qsl("instagram.com/p/") + m.captured(3); + data = App::imageLink(qsl("vimeo:") + m.captured(3), VimeoLink, url); } else { - data = 0; + m = reInstagram.match(url); + if (m.hasMatch()) { + data = App::imageLink(qsl("instagram:") + m.captured(3), InstagramLink, url); + data->title = qsl("instagram.com/p/") + m.captured(3); + } else { + data = 0; + } } } } @@ -3458,6 +3503,7 @@ int32 HistoryImageLink::fullWidth() const { if (data) { switch (data->type) { case YouTubeLink: return 640; + case VimeoLink: return 640; case InstagramLink: return 640; case GoogleMapsLink: return st::locationSize.width(); } @@ -3469,6 +3515,7 @@ int32 HistoryImageLink::fullHeight() const { if (data) { switch (data->type) { case YouTubeLink: return 480; + case VimeoLink: return 480; case InstagramLink: return 640; case GoogleMapsLink: return st::locationSize.height(); } @@ -3523,7 +3570,7 @@ void HistoryImageLink::draw(QPainter &p, const HistoryItem *parent, bool selecte if (data) { switch (data->type) { case YouTubeLink: p.drawPixmap(QPoint((width - st::youtubeIcon.pxWidth()) / 2, (_height - st::youtubeIcon.pxHeight()) / 2), App::sprite(), st::youtubeIcon); break; -// case InstagramLink: p.drawPixmap(QPoint((width - st::instagramIcon.pxWidth()) / 2, (_height - st::instagramIcon.pxHeight()) / 2), App::sprite(), st::instagramIcon); break; + case VimeoLink: p.drawPixmap(QPoint((width - st::youtubeIcon.pxWidth()) / 2, (_height - st::youtubeIcon.pxHeight()) / 2), App::sprite(), st::vimeoIcon); break; } if (!data->title.isEmpty() || !data->duration.isEmpty()) { p.fillRect(0, 0, width, st::msgDateFont->height + 2 * st::msgDateImgPadding.y(), st::msgDateImgBg->b); @@ -3608,6 +3655,7 @@ const QString HistoryImageLink::inDialogsText() const { if (data) { switch (data->type) { case YouTubeLink: return qsl("YouTube Video"); + case VimeoLink: return qsl("Vimeo Video"); case InstagramLink: return qsl("Instagram Link"); case GoogleMapsLink: return lang(lng_maps_point); } @@ -3619,6 +3667,7 @@ const QString HistoryImageLink::inHistoryText() const { if (data) { switch (data->type) { case YouTubeLink: return qsl("[ YouTube Video : ") + link->text() + qsl(" ]"); + case VimeoLink: return qsl("[ Vimeo Video : ") + link->text() + qsl(" ]"); case InstagramLink: return qsl("[ Instagram Link : ") + link->text() + qsl(" ]"); case GoogleMapsLink: return qsl("[ ") + lang(lng_maps_point) + qsl(" : ") + link->text() + qsl(" ]"); } @@ -3698,7 +3747,7 @@ void HistoryMessage::initMedia(const MTPMessageMedia &media, QString ¤tTex switch (media.type()) { case mtpc_messageMediaEmpty: { QString lnk = currentText.trimmed(); - if (reYouTube1.match(currentText).hasMatch() || reYouTube2.match(currentText).hasMatch() || reInstagram.match(currentText).hasMatch()) { + if (reYouTube1.match(currentText).hasMatch() || reYouTube2.match(currentText).hasMatch() || reInstagram.match(currentText).hasMatch() || reVimeo.match(currentText).hasMatch()) { _media = new HistoryImageLink(lnk); currentText = QString(); } diff --git a/Telegram/SourceFiles/history.h b/Telegram/SourceFiles/history.h index ff268a74a7..ebc685c7e0 100644 --- a/Telegram/SourceFiles/history.h +++ b/Telegram/SourceFiles/history.h @@ -1475,6 +1475,7 @@ void deinitImageLinkManager(); enum ImageLinkType { InvalidImageLink = 0, YouTubeLink, + VimeoLink, InstagramLink, GoogleMapsLink }; diff --git a/Telegram/SourceFiles/logs.cpp b/Telegram/SourceFiles/logs.cpp index 229afd516a..1d6affa319 100644 --- a/Telegram/SourceFiles/logs.cpp +++ b/Telegram/SourceFiles/logs.cpp @@ -73,7 +73,7 @@ void debugLogWrite(const char *file, int32 line, const QString &v) { (*debugLogStream) << msg; debugLogStream->flush(); #ifdef Q_OS_WIN - OutputDebugString(reinterpret_cast(msg.utf16())); +// OutputDebugString(reinterpret_cast(msg.utf16())); #elif defined Q_OS_MAC objc_outputDebugString(msg); #elif defined Q_OS_LINUX && defined _DEBUG diff --git a/Telegram/SourceFiles/pspecific_linux.cpp b/Telegram/SourceFiles/pspecific_linux.cpp index e7b305281d..67a1b53654 100644 --- a/Telegram/SourceFiles/pspecific_linux.cpp +++ b/Telegram/SourceFiles/pspecific_linux.cpp @@ -50,7 +50,7 @@ namespace { }; PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), -posInited(false), trayIcon(0), trayIconMenu(0), icon256(qsl(":/gui/art/iconround256.png")), wndIcon(QPixmap::fromImage(icon256)) { +posInited(false), trayIcon(0), trayIconMenu(0), icon256(qsl(":/gui/art/icon256.png")), wndIcon(QPixmap::fromImage(icon256)) { connect(&psIdleTimer, SIGNAL(timeout()), this, SLOT(psIdleTimeout())); psIdleTimer.setSingleShot(false); } diff --git a/Telegram/SourceFiles/pspecific_mac.cpp b/Telegram/SourceFiles/pspecific_mac.cpp index 542f3d06e6..793a78ad28 100644 --- a/Telegram/SourceFiles/pspecific_mac.cpp +++ b/Telegram/SourceFiles/pspecific_mac.cpp @@ -71,7 +71,7 @@ void MacPrivate::notifyReplied(unsigned long long peer, const char *str) { } PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), -posInited(false), trayIcon(0), trayIconMenu(0), icon256(qsl(":/gui/art/iconround256.png")), wndIcon(QPixmap(qsl(":/gui/art/iconbig128.png"))), +posInited(false), trayIcon(0), trayIconMenu(0), icon256(qsl(":/gui/art/icon256.png")), wndIcon(QPixmap(qsl(":/gui/art/icon256.png"))), psLogout(0), psUndo(0), psRedo(0), psCut(0), psCopy(0), psPaste(0), psDelete(0), psSelectAll(0), psContacts(0), psNewGroup(0), psShowTelegram(0) { QImage tray(qsl(":/gui/art/osxtray.png")); trayImg = tray.copy(0, cRetina() ? 0 : tray.width() / 2, tray.width() / (cRetina() ? 2 : 4), tray.width() / (cRetina() ? 2 : 4)); diff --git a/Telegram/SourceFiles/pspecific_wnd.cpp b/Telegram/SourceFiles/pspecific_wnd.cpp index 0f8fa9ecaf..474ba7da1c 100644 --- a/Telegram/SourceFiles/pspecific_wnd.cpp +++ b/Telegram/SourceFiles/pspecific_wnd.cpp @@ -860,7 +860,7 @@ namespace { }; -PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), ps_hWnd(0), ps_menu(0), icon256(qsl(":/gui/art/iconround256.png")), wndIcon(QPixmap::fromImage(icon256)), +PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), ps_hWnd(0), ps_menu(0), icon256(qsl(":/gui/art/icon256.png")), wndIcon(QPixmap::fromImage(icon256)), ps_iconBig(0), ps_iconSmall(0), ps_iconOverlay(0), trayIcon(0), trayIconMenu(0), posInited(false), ps_tbHider_hWnd(createTaskbarHider()), psIdle(false) { tbCreatedMsgId = RegisterWindowMessage(L"TaskbarButtonCreated"); connect(&psIdleTimer, SIGNAL(timeout()), this, SLOT(psIdleTimeout())); diff --git a/Telegram/SourceFiles/telegram.qrc b/Telegram/SourceFiles/telegram.qrc index 8bc2e1f1b2..f31cda881c 100644 --- a/Telegram/SourceFiles/telegram.qrc +++ b/Telegram/SourceFiles/telegram.qrc @@ -17,8 +17,7 @@ art/emoji_150x.png art/emoji_200x.png art/blank.gif - art/iconround256.png - art/iconbig128.png + art/icon256.png art/fonts/DejaVuSans.ttf art/osxtray.png diff --git a/Telegram/SourceFiles/telegram_linux.qrc b/Telegram/SourceFiles/telegram_linux.qrc index ac5e08300b..8add6bf9ac 100644 --- a/Telegram/SourceFiles/telegram_linux.qrc +++ b/Telegram/SourceFiles/telegram_linux.qrc @@ -17,7 +17,7 @@ art/emoji_150x.png art/emoji_200x.png art/blank.gif - art/iconround256.png + art/icon256.png art/fonts/DejaVuSans.ttf diff --git a/Telegram/SourceFiles/window.cpp b/Telegram/SourceFiles/window.cpp index c7aecc906d..5f694869ae 100644 --- a/Telegram/SourceFiles/window.cpp +++ b/Telegram/SourceFiles/window.cpp @@ -88,7 +88,7 @@ NotifyWindow::NotifyWindow(HistoryItem *msg, int32 x, int32 y) : history(msg->hi inputTimer.setSingleShot(true); connect(&inputTimer, SIGNAL(timeout()), this, SLOT(checkLastInput())); - connect(&close, SIGNAL(clicked()), this, SLOT(unlinkHistory())); + connect(&close, SIGNAL(clicked()), this, SLOT(unlinkHistoryAndNotify())); close.setAcceptBoth(true); close.move(st::notifyWidth - st::notifyClose.width - st::notifyClosePos.x(), st::notifyClosePos.y()); close.show(); @@ -228,16 +228,20 @@ void NotifyWindow::updatePeerPhoto() { void NotifyWindow::itemRemoved(HistoryItem *del) { if (item == del) { - unlinkHistory(); + unlinkHistoryAndNotify(); } } +void NotifyWindow::unlinkHistoryAndNotify() { + unlinkHistory(); + App::wnd()->notifyShowNext(); +} + void NotifyWindow::unlinkHistory(History *hist) { if (!hist || hist == history) { animHide(st::notifyFastAnim, st::notifyFastAnimFunc); history = 0; item = 0; - App::wnd()->notifyShowNext(); } } @@ -258,7 +262,7 @@ void NotifyWindow::startHiding() { void NotifyWindow::mousePressEvent(QMouseEvent *e) { if (!history) return; if (e->button() == Qt::RightButton) { - unlinkHistory(); + unlinkHistoryAndNotify(); } else if (history) { App::wnd()->showFromTray(); App::wnd()->hideSettings(); @@ -1045,6 +1049,7 @@ void Window::notifyClear(History *history) { psClearNotifies(history->peer->id); notifyWhenMaps.remove(history); notifyWhenAlerts.remove(history); + notifyShowNext(); } void Window::notifyClearFast() { diff --git a/Telegram/SourceFiles/window.h b/Telegram/SourceFiles/window.h index e01bd4c062..93fedf6758 100644 --- a/Telegram/SourceFiles/window.h +++ b/Telegram/SourceFiles/window.h @@ -82,6 +82,8 @@ public: return history ? _index : -1; } + void unlinkHistory(History *hist = 0); + ~NotifyWindow(); public slots: @@ -89,7 +91,7 @@ public slots: void hideByTimer(); void checkLastInput(); - void unlinkHistory(History *hist = 0); + void unlinkHistoryAndNotify(); private: diff --git a/Telegram/Telegram.rc b/Telegram/Telegram.rc index 77ad32607d..7531acfdc6 100644 Binary files a/Telegram/Telegram.rc and b/Telegram/Telegram.rc differ diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index 98b7965a25..bfef80edfc 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -1742,7 +1742,8 @@ - + + diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index c06ca8714e..351fbdb4f4 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -1022,7 +1022,8 @@ - + + diff --git a/Telegram/Telegram.xcodeproj/qt_preprocess.mak b/Telegram/Telegram.xcodeproj/qt_preprocess.mak index c483fdf300..975226a37a 100644 --- a/Telegram/Telegram.xcodeproj/qt_preprocess.mak +++ b/Telegram/Telegram.xcodeproj/qt_preprocess.mak @@ -62,7 +62,7 @@ GeneratedFiles/qrc_telegram.cpp: SourceFiles/telegram.qrc \ SourceFiles/art/bg.png \ SourceFiles/art/sprite_150x.png \ SourceFiles/art/sprite.png \ - SourceFiles/art/iconround256.png \ + SourceFiles/art/icon256.png \ SourceFiles/art/emoji_150x.png \ SourceFiles/art/bg_150x.png \ SourceFiles/art/sprite_200x.png \ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_128x128.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_128x128.png index 95c2e04ef3..103c5c9101 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_128x128.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_128x128.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_128x128@2x.png index 653ac08643..6e09c29ddf 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_128x128@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_128x128@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_16x16.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_16x16.png index e614591327..c15f5a9da7 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_16x16.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_16x16.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_16x16@2x.png index 57a9fd01b7..214be0fbd6 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_16x16@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_16x16@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_256x256.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_256x256.png index 653ac08643..6e09c29ddf 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_256x256.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_256x256.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_256x256@2x.png index 291e1bb787..019795054a 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_256x256@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_256x256@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_32x32.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_32x32.png index 57a9fd01b7..214be0fbd6 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_32x32.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_32x32.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_32x32@2x.png index 422848804e..eae1706f3b 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_32x32@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_32x32@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_512x512.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_512x512.png index 291e1bb787..019795054a 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_512x512.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_512x512.png differ diff --git a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_512x512@2x.png index 9b249bac3f..0972bff347 100644 Binary files a/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_512x512@2x.png and b/Telegram/Telegram/Images.xcassets/AppIcon.appiconset/icon_512x512@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128.png index 95c2e04ef3..103c5c9101 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128@2x.png index 653ac08643..6e09c29ddf 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_128x128@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16.png index e614591327..c15f5a9da7 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16@2x.png index 57a9fd01b7..214be0fbd6 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_16x16@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256.png index 653ac08643..6e09c29ddf 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256@2x.png index 291e1bb787..019795054a 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_256x256@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32.png index 57a9fd01b7..214be0fbd6 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32@2x.png index 422848804e..eae1706f3b 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_32x32@2x.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512.png index 291e1bb787..019795054a 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512.png differ diff --git a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512@2x.png b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512@2x.png index 9b249bac3f..0972bff347 100644 Binary files a/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512@2x.png and b/Telegram/Telegram/Images.xcassets/Icon.iconset/icon_512x512@2x.png differ diff --git a/Telegram/icon_128x128@2x.png b/Telegram/icon_128x128@2x.png deleted file mode 100644 index 92566ae160..0000000000 Binary files a/Telegram/icon_128x128@2x.png and /dev/null differ diff --git a/Telegram/icon_256x256.png b/Telegram/icon_256x256.png deleted file mode 100644 index 92566ae160..0000000000 Binary files a/Telegram/icon_256x256.png and /dev/null differ diff --git a/Telegram/iconround256.ico b/Telegram/iconround256.ico deleted file mode 100644 index 718f5a706a..0000000000 Binary files a/Telegram/iconround256.ico and /dev/null differ diff --git a/Telegram/iconround256.png b/Telegram/iconround256.png deleted file mode 100644 index 92566ae160..0000000000 Binary files a/Telegram/iconround256.png and /dev/null differ diff --git a/Telegram/resource.h b/Telegram/resource.h index 351dc5e4cd..fb440adacf 100644 Binary files a/Telegram/resource.h and b/Telegram/resource.h differ