icon changed in win version

This commit is contained in:
John Preston 2014-11-23 14:20:40 +03:00
parent 880c2697d1
commit 4bcfee22ef
72 changed files with 87 additions and 29 deletions

View File

@ -1642,5 +1642,5 @@ usernameCancel: flatButton(btnSelectCancel) {
} }
youtubeIcon: sprite(336px, 221px, 60px, 60px); youtubeIcon: sprite(336px, 221px, 60px, 60px);
instagramIcon: sprite(336px, 283px, 60px, 60px); vimeoIcon: sprite(336px, 283px, 60px, 60px);
locationSize: size(320, 240); locationSize: size(320, 240);

View File

@ -25,7 +25,7 @@ DefaultGroupName={#MyAppName}
AllowNoIcons=yes AllowNoIcons=yes
OutputDir=.\..\Win32\Deploy OutputDir=.\..\Win32\Deploy
OutputBaseFilename=tsetup.{#MyAppVersionZero} OutputBaseFilename=tsetup.{#MyAppVersionZero}
SetupIconFile=.\SourceFiles\art\iconround256.ico SetupIconFile=.\SourceFiles\art\icon256.ico
UninstallDisplayIcon={app}\Telegram.exe UninstallDisplayIcon={app}\Telegram.exe
Compression=lzma Compression=lzma
SolidCompression=yes SolidCompression=yes

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 655 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 97 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

@ -3115,9 +3115,10 @@ void HistoryContact::updateFrom(const MTPMessageMedia &media) {
} }
namespace { namespace {
QRegularExpression reYouTube1(qsl("^(https?://)?(www\\.|m\\.)?youtube\\.com/watch\\?([^#]+&)?v=([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_-]+)(\\?|$)"), 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_-]+)(/|$)"), 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; ImageLinkManager manager;
} }
@ -3183,6 +3184,11 @@ void ImageLinkManager::getData(ImageLinkData *data) {
QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url))); QNetworkReply *reply = manager->get(QNetworkRequest(QUrl(url)));
dataLoadings[reply] = data; dataLoadings[reply] = data;
} break; } 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: { case InstagramLink: {
//url = qsl("https://api.instagram.com/oembed?url=http://instagr.am/p/") + data->id.mid(10) + '/'; //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"); 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")); DEBUG_LOG(("JSON Error: Bad json received in onFinished() for image link"));
return onFailed(reply); return onFailed(reply);
} }
QJsonObject obj = doc.object();
switch (d->type) { switch (d->type) {
case YouTubeLink: { case YouTubeLink: {
QJsonObject obj = doc.object();
QString thumb; QString thumb;
int32 seconds = 0; int32 seconds = 0;
QJsonObject::const_iterator entryIt = obj.constFind(qsl("entry")); QJsonObject::const_iterator entryIt = obj.constFind(qsl("entry"));
@ -3361,6 +3367,39 @@ void ImageLinkManager::onFinished(QNetworkReply *reply) {
} }
} break; } 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 InstagramLink: failed(d); break;
case GoogleMapsLink: 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:"))) { 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"); 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)); link.reset(new TextLink(lnk));
data = App::imageLink(url, GoogleMapsLink, lnk); data = App::imageLink(url, GoogleMapsLink, lnk);
} else { } else {
link.reset(new TextLink(url));
int matchIndex = 4; int matchIndex = 4;
QRegularExpressionMatch m = reYouTube1.match(url); QRegularExpressionMatch m = reYouTube1.match(url);
if (!m.hasMatch()) { if (!m.hasMatch()) {
@ -3439,12 +3481,14 @@ HistoryImageLink::HistoryImageLink(const QString &url, int32 width) : HistoryMed
matchIndex = 3; matchIndex = 3;
} }
if (m.hasMatch()) { if (m.hasMatch()) {
link.reset(new TextLink(url));
data = App::imageLink(qsl("youtube:") + m.captured(matchIndex), YouTubeLink, url); data = App::imageLink(qsl("youtube:") + m.captured(matchIndex), YouTubeLink, url);
} else {
m = reVimeo.match(url);
if (m.hasMatch()) {
data = App::imageLink(qsl("vimeo:") + m.captured(3), VimeoLink, url);
} else { } else {
m = reInstagram.match(url); m = reInstagram.match(url);
if (m.hasMatch()) { if (m.hasMatch()) {
link.reset(new TextLink(url));
data = App::imageLink(qsl("instagram:") + m.captured(3), InstagramLink, url); data = App::imageLink(qsl("instagram:") + m.captured(3), InstagramLink, url);
data->title = qsl("instagram.com/p/") + m.captured(3); data->title = qsl("instagram.com/p/") + m.captured(3);
} else { } else {
@ -3453,11 +3497,13 @@ HistoryImageLink::HistoryImageLink(const QString &url, int32 width) : HistoryMed
} }
} }
} }
}
int32 HistoryImageLink::fullWidth() const { int32 HistoryImageLink::fullWidth() const {
if (data) { if (data) {
switch (data->type) { switch (data->type) {
case YouTubeLink: return 640; case YouTubeLink: return 640;
case VimeoLink: return 640;
case InstagramLink: return 640; case InstagramLink: return 640;
case GoogleMapsLink: return st::locationSize.width(); case GoogleMapsLink: return st::locationSize.width();
} }
@ -3469,6 +3515,7 @@ int32 HistoryImageLink::fullHeight() const {
if (data) { if (data) {
switch (data->type) { switch (data->type) {
case YouTubeLink: return 480; case YouTubeLink: return 480;
case VimeoLink: return 480;
case InstagramLink: return 640; case InstagramLink: return 640;
case GoogleMapsLink: return st::locationSize.height(); case GoogleMapsLink: return st::locationSize.height();
} }
@ -3523,7 +3570,7 @@ void HistoryImageLink::draw(QPainter &p, const HistoryItem *parent, bool selecte
if (data) { if (data) {
switch (data->type) { switch (data->type) {
case YouTubeLink: p.drawPixmap(QPoint((width - st::youtubeIcon.pxWidth()) / 2, (_height - st::youtubeIcon.pxHeight()) / 2), App::sprite(), st::youtubeIcon); break; 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()) { if (!data->title.isEmpty() || !data->duration.isEmpty()) {
p.fillRect(0, 0, width, st::msgDateFont->height + 2 * st::msgDateImgPadding.y(), st::msgDateImgBg->b); 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) { if (data) {
switch (data->type) { switch (data->type) {
case YouTubeLink: return qsl("YouTube Video"); case YouTubeLink: return qsl("YouTube Video");
case VimeoLink: return qsl("Vimeo Video");
case InstagramLink: return qsl("Instagram Link"); case InstagramLink: return qsl("Instagram Link");
case GoogleMapsLink: return lang(lng_maps_point); case GoogleMapsLink: return lang(lng_maps_point);
} }
@ -3619,6 +3667,7 @@ const QString HistoryImageLink::inHistoryText() const {
if (data) { if (data) {
switch (data->type) { switch (data->type) {
case YouTubeLink: return qsl("[ YouTube Video : ") + link->text() + qsl(" ]"); 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 InstagramLink: return qsl("[ Instagram Link : ") + link->text() + qsl(" ]");
case GoogleMapsLink: return qsl("[ ") + lang(lng_maps_point) + qsl(" : ") + 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 &currentTex
switch (media.type()) { switch (media.type()) {
case mtpc_messageMediaEmpty: { case mtpc_messageMediaEmpty: {
QString lnk = currentText.trimmed(); 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); _media = new HistoryImageLink(lnk);
currentText = QString(); currentText = QString();
} }

View File

@ -1475,6 +1475,7 @@ void deinitImageLinkManager();
enum ImageLinkType { enum ImageLinkType {
InvalidImageLink = 0, InvalidImageLink = 0,
YouTubeLink, YouTubeLink,
VimeoLink,
InstagramLink, InstagramLink,
GoogleMapsLink GoogleMapsLink
}; };

View File

@ -73,7 +73,7 @@ void debugLogWrite(const char *file, int32 line, const QString &v) {
(*debugLogStream) << msg; (*debugLogStream) << msg;
debugLogStream->flush(); debugLogStream->flush();
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
OutputDebugString(reinterpret_cast<const wchar_t *>(msg.utf16())); // OutputDebugString(reinterpret_cast<const wchar_t *>(msg.utf16()));
#elif defined Q_OS_MAC #elif defined Q_OS_MAC
objc_outputDebugString(msg); objc_outputDebugString(msg);
#elif defined Q_OS_LINUX && defined _DEBUG #elif defined Q_OS_LINUX && defined _DEBUG

View File

@ -50,7 +50,7 @@ namespace {
}; };
PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), 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())); connect(&psIdleTimer, SIGNAL(timeout()), this, SLOT(psIdleTimeout()));
psIdleTimer.setSingleShot(false); psIdleTimer.setSingleShot(false);
} }

View File

@ -71,7 +71,7 @@ void MacPrivate::notifyReplied(unsigned long long peer, const char *str) {
} }
PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), 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) { 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")); 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)); trayImg = tray.copy(0, cRetina() ? 0 : tray.width() / 2, tray.width() / (cRetina() ? 2 : 4), tray.width() / (cRetina() ? 2 : 4));

View File

@ -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) { 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"); tbCreatedMsgId = RegisterWindowMessage(L"TaskbarButtonCreated");
connect(&psIdleTimer, SIGNAL(timeout()), this, SLOT(psIdleTimeout())); connect(&psIdleTimer, SIGNAL(timeout()), this, SLOT(psIdleTimeout()));

View File

@ -17,8 +17,7 @@
<file>art/emoji_150x.png</file> <file>art/emoji_150x.png</file>
<file>art/emoji_200x.png</file> <file>art/emoji_200x.png</file>
<file>art/blank.gif</file> <file>art/blank.gif</file>
<file>art/iconround256.png</file> <file>art/icon256.png</file>
<file>art/iconbig128.png</file>
<file>art/fonts/DejaVuSans.ttf</file> <file>art/fonts/DejaVuSans.ttf</file>
<file>art/osxtray.png</file> <file>art/osxtray.png</file>
</qresource> </qresource>

View File

@ -17,7 +17,7 @@
<file>art/emoji_150x.png</file> <file>art/emoji_150x.png</file>
<file>art/emoji_200x.png</file> <file>art/emoji_200x.png</file>
<file>art/blank.gif</file> <file>art/blank.gif</file>
<file>art/iconround256.png</file> <file>art/icon256.png</file>
<file>art/fonts/DejaVuSans.ttf</file> <file>art/fonts/DejaVuSans.ttf</file>
</qresource> </qresource>
<qresource prefix="/ava"> <qresource prefix="/ava">

View File

@ -88,7 +88,7 @@ NotifyWindow::NotifyWindow(HistoryItem *msg, int32 x, int32 y) : history(msg->hi
inputTimer.setSingleShot(true); inputTimer.setSingleShot(true);
connect(&inputTimer, SIGNAL(timeout()), this, SLOT(checkLastInput())); 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.setAcceptBoth(true);
close.move(st::notifyWidth - st::notifyClose.width - st::notifyClosePos.x(), st::notifyClosePos.y()); close.move(st::notifyWidth - st::notifyClose.width - st::notifyClosePos.x(), st::notifyClosePos.y());
close.show(); close.show();
@ -228,16 +228,20 @@ void NotifyWindow::updatePeerPhoto() {
void NotifyWindow::itemRemoved(HistoryItem *del) { void NotifyWindow::itemRemoved(HistoryItem *del) {
if (item == del) { if (item == del) {
unlinkHistory(); unlinkHistoryAndNotify();
} }
} }
void NotifyWindow::unlinkHistoryAndNotify() {
unlinkHistory();
App::wnd()->notifyShowNext();
}
void NotifyWindow::unlinkHistory(History *hist) { void NotifyWindow::unlinkHistory(History *hist) {
if (!hist || hist == history) { if (!hist || hist == history) {
animHide(st::notifyFastAnim, st::notifyFastAnimFunc); animHide(st::notifyFastAnim, st::notifyFastAnimFunc);
history = 0; history = 0;
item = 0; item = 0;
App::wnd()->notifyShowNext();
} }
} }
@ -258,7 +262,7 @@ void NotifyWindow::startHiding() {
void NotifyWindow::mousePressEvent(QMouseEvent *e) { void NotifyWindow::mousePressEvent(QMouseEvent *e) {
if (!history) return; if (!history) return;
if (e->button() == Qt::RightButton) { if (e->button() == Qt::RightButton) {
unlinkHistory(); unlinkHistoryAndNotify();
} else if (history) { } else if (history) {
App::wnd()->showFromTray(); App::wnd()->showFromTray();
App::wnd()->hideSettings(); App::wnd()->hideSettings();
@ -1045,6 +1049,7 @@ void Window::notifyClear(History *history) {
psClearNotifies(history->peer->id); psClearNotifies(history->peer->id);
notifyWhenMaps.remove(history); notifyWhenMaps.remove(history);
notifyWhenAlerts.remove(history); notifyWhenAlerts.remove(history);
notifyShowNext();
} }
void Window::notifyClearFast() { void Window::notifyClearFast() {

View File

@ -82,6 +82,8 @@ public:
return history ? _index : -1; return history ? _index : -1;
} }
void unlinkHistory(History *hist = 0);
~NotifyWindow(); ~NotifyWindow();
public slots: public slots:
@ -89,7 +91,7 @@ public slots:
void hideByTimer(); void hideByTimer();
void checkLastInput(); void checkLastInput();
void unlinkHistory(History *hist = 0); void unlinkHistoryAndNotify();
private: private:

Binary file not shown.

View File

@ -1742,7 +1742,8 @@
</CustomBuild> </CustomBuild>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Image Include="SourceFiles\art\iconround256.ico" /> <Image Include="sourcefiles\art\icon2.ico" />
<Image Include="SourceFiles\art\icon256.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="Telegram.rc" /> <ResourceCompile Include="Telegram.rc" />

View File

@ -1022,7 +1022,8 @@
</CustomBuild> </CustomBuild>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Image Include="SourceFiles\art\iconround256.ico" /> <Image Include="SourceFiles\art\icon256.ico" />
<Image Include="sourcefiles\art\icon2.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="Telegram.rc" /> <ResourceCompile Include="Telegram.rc" />

View File

@ -62,7 +62,7 @@ GeneratedFiles/qrc_telegram.cpp: SourceFiles/telegram.qrc \
SourceFiles/art/bg.png \ SourceFiles/art/bg.png \
SourceFiles/art/sprite_150x.png \ SourceFiles/art/sprite_150x.png \
SourceFiles/art/sprite.png \ SourceFiles/art/sprite.png \
SourceFiles/art/iconround256.png \ SourceFiles/art/icon256.png \
SourceFiles/art/emoji_150x.png \ SourceFiles/art/emoji_150x.png \
SourceFiles/art/bg_150x.png \ SourceFiles/art/bg_150x.png \
SourceFiles/art/sprite_200x.png \ SourceFiles/art/sprite_200x.png \

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 B

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.