From a4e9dadc2d5064d6987fe12cf64351561a891455 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 26 Sep 2014 16:48:19 -0700 Subject: [PATCH] mac tray icon/menu support improved, custom context menu started --- Telegram/Resources/lang.txt | 1 + Telegram/Resources/style.txt | 11 +- Telegram/SourceFiles/application.cpp | 7 + Telegram/SourceFiles/art/osxtray.png | Bin 0 -> 2354 bytes Telegram/SourceFiles/art/sprite.png | Bin 25374 -> 33359 bytes Telegram/SourceFiles/art/sprite_200x.png | Bin 55637 -> 69319 bytes Telegram/SourceFiles/gui/contextmenu.cpp | 139 +++++++++++++++ Telegram/SourceFiles/gui/contextmenu.h | 59 ++++++ Telegram/SourceFiles/pspecific_linux.cpp | 2 +- Telegram/SourceFiles/pspecific_linux.h | 5 +- Telegram/SourceFiles/pspecific_mac.cpp | 58 +++++- Telegram/SourceFiles/pspecific_mac.h | 9 +- Telegram/SourceFiles/pspecific_wnd.cpp | 6 +- Telegram/SourceFiles/pspecific_wnd.h | 6 +- Telegram/SourceFiles/settings.h | 2 +- Telegram/SourceFiles/stdafx.h | 1 + Telegram/SourceFiles/telegram.qrc | 1 + Telegram/SourceFiles/window.cpp | 117 +++++++----- Telegram/SourceFiles/window.h | 8 +- Telegram/Telegram.xcodeproj/project.pbxproj | 10 ++ Telegram/Telegram.xcodeproj/qt_preprocess.mak | 11 +- .../platforms/cocoa/qcocoasystemtrayicon.mm | 73 ++++---- .../src/widgets/util/qsystemtrayicon_qpa.cpp | 168 ++++++++++++++++++ 23 files changed, 579 insertions(+), 115 deletions(-) create mode 100644 Telegram/SourceFiles/art/osxtray.png create mode 100644 Telegram/SourceFiles/gui/contextmenu.cpp create mode 100644 Telegram/SourceFiles/gui/contextmenu.h create mode 100644 Telegram/_qt_5_3_1_patch/qtbase/src/widgets/util/qsystemtrayicon_qpa.cpp diff --git a/Telegram/Resources/lang.txt b/Telegram/Resources/lang.txt index 26480a623..a23100c48 100644 --- a/Telegram/Resources/lang.txt +++ b/Telegram/Resources/lang.txt @@ -24,6 +24,7 @@ lng_menu_settings: "Settings"; lng_menu_about: "About"; lng_open_from_tray: "Open Telegram"; +lng_minimize_to_tray: "Minimize to tray"; lng_quit_from_tray: "Quit Telegram"; lng_tray_icon_text: "Telegram is still running here, you can change this from settings page. diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index 684bbc6d2..23416f6a3 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -20,15 +20,16 @@ semibold: 'Open Sans Semibold'; fsize: 13px; -spriteFile: ':/gui/art/sprite.png' / 2:':/gui/art/sprite_125x.png' / 3:':/gui/art/sprite_150x.png' / 4:':/gui/art/sprite_200x.png'; // exceptional value for retina -emojisFile: ':/gui/art/emoji.png' / 2:':/gui/art/emoji_125x.png' / 3:':/gui/art/emoji_150x.png' / 4:':/gui/art/emoji_200x.png'; // exceptional value for retina +spriteFile: ':/gui/art/sprite.png' / 2:':/gui/art/sprite_125x.png' / 3:':/gui/art/sprite_150x.png' / 4:':/gui/art/sprite_200x.png'; +emojisFile: ':/gui/art/emoji.png' / 2:':/gui/art/emoji_125x.png' / 3:':/gui/art/emoji_150x.png' / 4:':/gui/art/emoji_200x.png'; emojiImgSize: 18px; // exceptional value for retina emojiSize: 18px; emojiPadding: 0px; -counterBG: #b42f35; -counterMuteBG: #777; +counterBG: #f23c34; +counterMuteBG: #888; counterColor: #fff; +counterMacInvColor: #045fd5; lineWidth: 1px; @@ -941,7 +942,7 @@ historyScroll: flatScroll(scrollDef) { barOverColor: #89a0b4bc; bgOverColor: #89a0b46b; - round: 2px; + round: 0px; width: 12px; deltax: 3px; diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index da9884c6a..2016f7b7c 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -61,6 +61,13 @@ namespace { case 3: if (ev->key() == Qt::Key_F11) _debugState = 4; else if (ev->key() != Qt::Key_F10) _debugState = 0; break; case 4: if (ev->key() == Qt::Key_F12) offerDebug(); if (ev->key() != Qt::Key_F11) _debugState = 0; break; } + + if (cPlatform() == dbipMac && ev->key() == Qt::Key_W && (ev->modifiers() & (Qt::MetaModifier | Qt::ControlModifier))) { + if (cWorkMode() == dbiwmTrayOnly || cWorkMode() == dbiwmWindowAndTray) { + App::wnd()->minimizeToTray(); + return true; + } + } } return QObject::eventFilter(o, e); } diff --git a/Telegram/SourceFiles/art/osxtray.png b/Telegram/SourceFiles/art/osxtray.png new file mode 100644 index 0000000000000000000000000000000000000000..fe7b2b7a444ea2b83d127be24b5cfd05cab62109 GIT binary patch literal 2354 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 literal 25374 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 diff --git a/Telegram/SourceFiles/art/sprite_200x.png b/Telegram/SourceFiles/art/sprite_200x.png index b18d853e268d1dbc85ebbe9907f9801115fe9842..de688414b637b14e3656e9ad2e5f2b8a70305834 100644 GIT binary patch literal 69319 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 + + _width = qMax(_width, int(2 * st::dropdownBorder + button->width())); + if (!_buttons.isEmpty()) { + _height += st::dropdownBorder; + } + _height += button->height(); + + _buttons.push_back(button); + + resize(_width, _height); + + return button; +} + +void ContextMenu::resetButtons() { + _width = 2 * st::dropdownBorder; + _height = 2 * st::dropdownBorder; + resize(_width, _height); + for (int32 i = 0, l = _buttons.size(); i < l; ++i) { + delete _buttons[i]; + } + _buttons.clear(); +} + +void ContextMenu::resizeEvent(QResizeEvent *e) { + int32 top = st::dropdownBorder; + for (Buttons::const_iterator i = _buttons.cbegin(), e = _buttons.cend(); i != e; ++i) { + (*i)->move(st::dropdownBorder, top); + top += st::dropdownBorder + (*i)->height(); + } +} + +void ContextMenu::paintEvent(QPaintEvent *e) { + QPainter p(this); + + if (animating()) { + p.setOpacity(a_opacity.current()); + } + + // paint window border + p.fillRect(QRect(0, 0, _width - st::dropdownBorder, st::dropdownBorder), st::dropdownBorderColor->b); + p.fillRect(QRect(_width - st::dropdownBorder, 0, st::dropdownBorder, _height - st::dropdownBorder), st::dropdownBorderColor->b); + p.fillRect(QRect(st::dropdownBorder, _height - st::dropdownBorder, _width - st::dropdownBorder, st::dropdownBorder), st::dropdownBorderColor->b); + p.fillRect(QRect(0, st::dropdownBorder, st::dropdownBorder, _height - st::dropdownBorder), st::dropdownBorderColor->b); + + if (!_buttons.isEmpty()) { // paint separators + int32 top = st::dropdownBorder + _buttons.front()->height(); + p.setPen(st::dropdownBorderColor->p); + for (int32 i = 1, s = _buttons.size(); i < s; ++i) { + p.fillRect(st::dropdownBorder, top, _width - 2 * st::dropdownBorder, st::dropdownBorder, st::dropdownBorderColor->b); + top += st::dropdownBorder + _buttons[i]->height(); + } + } +} + +void ContextMenu::fastHide() { + if (animating()) { + anim::stop(this); + } + a_opacity = anim::fvalue(0, 0); + hide(); +} + +void ContextMenu::adjustButtons() { + for (Buttons::const_iterator i = _buttons.cbegin(), e = _buttons.cend(); i != e; ++i) { + (*i)->setOpacity(a_opacity.current()); + } +} + +void ContextMenu::hideStart() { + _hiding = true; + a_opacity.start(0); + anim::start(this); +} + +void ContextMenu::hideFinish() { + hide(); +} + +void ContextMenu::showStart() { + if (!isHidden() && a_opacity.current() == 1) { + return; + } + _hiding = false; + show(); + a_opacity.start(1); + anim::start(this); +} + +bool ContextMenu::animStep(float64 ms) { + float64 dt = ms / 150; + bool res = true; + if (dt >= 1) { + a_opacity.finish(); + if (_hiding) { + hideFinish(); + } + res = false; + } else { + a_opacity.update(dt, anim::linear); + } + adjustButtons(); + update(); + return res; +} diff --git a/Telegram/SourceFiles/gui/contextmenu.h b/Telegram/SourceFiles/gui/contextmenu.h new file mode 100644 index 000000000..a869404a3 --- /dev/null +++ b/Telegram/SourceFiles/gui/contextmenu.h @@ -0,0 +1,59 @@ +/* + This file is part of Telegram Desktop, + an unofficial desktop messaging app, see https://telegram.org + + Telegram Desktop is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + It is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE + Copyright (c) 2014 John Preston, https://tdesktop.com + */ +#pragma once + +#include + +class FlatButton; + +class ContextMenu : public QWidget, public Animated { + Q_OBJECT + +public: + + ContextMenu(QWidget *parent); + FlatButton *addButton(FlatButton *button); + void resetButtons(); + + void resizeEvent(QResizeEvent *e); + void paintEvent(QPaintEvent *e); + + void fastHide(); + + bool animStep(float64 ms); + +public slots: + + void hideStart(); + void hideFinish(); + + void showStart(); + +private: + + void adjustButtons(); + + typedef QVector Buttons; + Buttons _buttons; + + int32 _width, _height; + bool _hiding; + + anim::fvalue a_opacity; + +}; \ No newline at end of file diff --git a/Telegram/SourceFiles/pspecific_linux.cpp b/Telegram/SourceFiles/pspecific_linux.cpp index 24a0f9bb5..7a90afe92 100644 --- a/Telegram/SourceFiles/pspecific_linux.cpp +++ b/Telegram/SourceFiles/pspecific_linux.cpp @@ -219,7 +219,7 @@ void PsMainWindow::psStateChanged(Qt::WindowState state) { psUpdateSysMenu(state); psUpdateMargins(); // if (state == Qt::WindowMinimized && GetWindowLong(ps_hWnd, GWL_HWNDPARENT)) { -// minimizeToTray(); +// App::wnd()->minimizeToTray(); // } psSavePosition(state); } diff --git a/Telegram/SourceFiles/pspecific_linux.h b/Telegram/SourceFiles/pspecific_linux.h index 88b9fa1d7..230479084 100644 --- a/Telegram/SourceFiles/pspecific_linux.h +++ b/Telegram/SourceFiles/pspecific_linux.h @@ -59,9 +59,6 @@ public: void psUpdateWorkmode(); void psRefreshTaskbarIcon(); - virtual bool minimizeToTray() { - return false; - } bool psPosInited() const { return posInited; @@ -161,7 +158,7 @@ private: }; -void psActivateProcess(uint64 pid); +void psActivateProcess(uint64 pid = 0); QString psLocalServerPrefix(); QString psCurrentCountry(); QString psCurrentLanguage(); diff --git a/Telegram/SourceFiles/pspecific_mac.cpp b/Telegram/SourceFiles/pspecific_mac.cpp index 18d81396b..6ade07aed 100644 --- a/Telegram/SourceFiles/pspecific_mac.cpp +++ b/Telegram/SourceFiles/pspecific_mac.cpp @@ -65,6 +65,9 @@ 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")) { + 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)); + trayImgSel = tray.copy(tray.width() / (cRetina() ? 2 : 4), cRetina() ? 0 : tray.width() / 2, tray.width() / (cRetina() ? 2 : 4), tray.width() / (cRetina() ? 2 : 4)); connect(&psIdleTimer, SIGNAL(timeout()), this, SLOT(psIdleTimeout())); psIdleTimer.setSingleShot(false); } @@ -78,6 +81,10 @@ void PsMainWindow::psNotIdle() const { } } +QImage PsMainWindow::psTrayIcon(bool selected) const { + return selected ? trayImgSel : trayImg; +} + void PsMainWindow::psIdleTimeout() { int64 idleTime = objc_idleTime(); if (idleTime >= 0) { @@ -138,6 +145,41 @@ void PsMainWindow::psUpdateWorkmode() { } } +void _placeCounter(QImage &img, int size, int count, style::color bg, style::color color) { + if (!count) return; + + QPainter p(&img); + QString cnt = (count < 100) ? QString("%1").arg(count) : QString("..%1").arg(count % 100, 2, 10, QChar('0')); + int32 cntSize = cnt.size(); + + p.setBrush(bg->b); + p.setPen(Qt::NoPen); + p.setRenderHint(QPainter::Antialiasing); + int32 fontSize, skip; + if (size == 22) { + skip = 1; + fontSize = 8; + } else { + skip = 2; + fontSize = 16; + } + style::font f(fontSize); + int32 w = f->m.width(cnt), d, r; + if (size == 22) { + d = (cntSize < 2) ? 3 : 2; + r = (cntSize < 2) ? 6 : 5; + } else { + d = (cntSize < 2) ? 6 : 5; + r = (cntSize < 2) ? 9 : 11; + } + p.drawRoundedRect(QRect(size - w - d * 2 - skip, size - f->height - skip, w + d * 2, f->height), r, r); + + p.setCompositionMode(QPainter::CompositionMode_Source); + p.setFont(f->f); + p.setPen(color->p); + p.drawText(size - w - d - skip, size - f->height + f->ascent - skip, cnt); +} + void PsMainWindow::psUpdateCounter() { int32 counter = App::histories().unreadFull; @@ -148,10 +190,16 @@ void PsMainWindow::psUpdateCounter() { if (trayIcon) { style::color bg = (App::histories().unreadMuted < counter) ? st::counterBG : st::counterMuteBG; - QIcon iconSmall; - iconSmall.addPixmap(QPixmap::fromImage(iconWithCounter(16, counter, bg, true))); - iconSmall.addPixmap(QPixmap::fromImage(iconWithCounter(32, counter, bg, true))); - trayIcon->setIcon(iconSmall); + QIcon icon; + QImage img(psTrayIcon()), imgsel(psTrayIcon(true)); + img.detach(); + imgsel.detach(); + int32 size = cRetina() ? 44 : 22; + _placeCounter(img, size, counter, bg, st::counterColor); + _placeCounter(imgsel, size, counter, st::white, st::counterMacInvColor); + icon.addPixmap(QPixmap::fromImage(img)); + icon.addPixmap(QPixmap::fromImage(imgsel), QIcon::Selected); + trayIcon->setIcon(icon); } } @@ -255,7 +303,7 @@ void PsMainWindow::psStateChanged(Qt::WindowState state) { psUpdateSysMenu(state); psUpdateMargins(); // if (state == Qt::WindowMinimized && GetWindowLong(ps_hWnd, GWL_HWNDPARENT)) { -// minimizeToTray(); +// App::wnd()->minimizeToTray(); // } psSavePosition(state); } diff --git a/Telegram/SourceFiles/pspecific_mac.h b/Telegram/SourceFiles/pspecific_mac.h index e770211b3..68dc30104 100644 --- a/Telegram/SourceFiles/pspecific_mac.h +++ b/Telegram/SourceFiles/pspecific_mac.h @@ -69,9 +69,6 @@ public: void psUpdateWorkmode(); void psRefreshTaskbarIcon(); - virtual bool minimizeToTray() { - return false; - } bool psPosInited() const { return posInited; @@ -95,13 +92,17 @@ public slots: protected: void psNotIdle() const; + QImage psTrayIcon(bool selected = false) const; bool posInited; QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; QImage icon256; + QImage trayImg, trayImgSel; + virtual void setupTrayIcon() = 0; + virtual void placeSmallCounter(QImage &img, int size, int count, style::color bg, const QPoint &shift, style::color color) = 0; virtual QImage iconWithCounter(int size, int count, style::color bg, bool smallIcon) = 0; QTimer psUpdatedPositionTimer; @@ -173,7 +174,7 @@ private: }; -void psActivateProcess(uint64 pid); +void psActivateProcess(uint64 pid = 0); QString psLocalServerPrefix(); QString psCurrentCountry(); QString psCurrentLanguage(); diff --git a/Telegram/SourceFiles/pspecific_wnd.cpp b/Telegram/SourceFiles/pspecific_wnd.cpp index c7aef18c7..646b67f97 100644 --- a/Telegram/SourceFiles/pspecific_wnd.cpp +++ b/Telegram/SourceFiles/pspecific_wnd.cpp @@ -1135,7 +1135,7 @@ void PsMainWindow::psStateChanged(Qt::WindowState state) { psUpdateSysMenu(state); psUpdateMargins(); if (state == Qt::WindowMinimized && GetWindowLong(ps_hWnd, GWL_HWNDPARENT)) { - minimizeToTray(); + App::wnd()->minimizeToTray(); } psSavePosition(state); } @@ -1748,7 +1748,9 @@ namespace { } void psActivateProcess(uint64 pid) { - ::EnumWindows((WNDENUMPROC)_ActivateProcess, (LPARAM)&pid); + if (pid) { + ::EnumWindows((WNDENUMPROC)_ActivateProcess, (LPARAM)&pid); + } } QString psCurrentCountry() { diff --git a/Telegram/SourceFiles/pspecific_wnd.h b/Telegram/SourceFiles/pspecific_wnd.h index cd89bf9d0..46284bee6 100644 --- a/Telegram/SourceFiles/pspecific_wnd.h +++ b/Telegram/SourceFiles/pspecific_wnd.h @@ -1,3 +1,4 @@ + /* This file is part of Telegram Desktop, an unofficial desktop messaging app, see https://telegram.org @@ -57,9 +58,6 @@ public: void psUpdateWorkmode(); void psRefreshTaskbarIcon(); - virtual bool minimizeToTray() { - return false; - } bool psPosInited() const { return posInited; @@ -170,7 +168,7 @@ private: }; -void psActivateProcess(uint64 pid); +void psActivateProcess(uint64 pid = 0); QString psLocalServerPrefix(); QString psCurrentCountry(); QString psCurrentLanguage(); diff --git a/Telegram/SourceFiles/settings.h b/Telegram/SourceFiles/settings.h index bdc1b0335..1a2951db2 100644 --- a/Telegram/SourceFiles/settings.h +++ b/Telegram/SourceFiles/settings.h @@ -21,7 +21,7 @@ extern bool gDebug; inline bool cDebug() { #if defined _DEBUG && !defined Q_OS_MAC return true; -#elif defined _WITH_DEBUG +#elif defined _WITH_DEBUG || (defined _DEBUG && defined Q_OS_MAC) return gDebug; #else return false; diff --git a/Telegram/SourceFiles/stdafx.h b/Telegram/SourceFiles/stdafx.h index 05f1ab58d..b0d0e8cd9 100644 --- a/Telegram/SourceFiles/stdafx.h +++ b/Telegram/SourceFiles/stdafx.h @@ -56,6 +56,7 @@ Copyright (c) 2014 John Preston, https://tdesktop.com #include "gui/flatinput.h" #include "gui/flattextarea.h" #include "gui/flatbutton.h" +#include "gui/contextmenu.h" #include "gui/switcher.h" #include "gui/scrollarea.h" #include "gui/images.h" diff --git a/Telegram/SourceFiles/telegram.qrc b/Telegram/SourceFiles/telegram.qrc index 74576d75f..93525b044 100644 --- a/Telegram/SourceFiles/telegram.qrc +++ b/Telegram/SourceFiles/telegram.qrc @@ -19,6 +19,7 @@ art/blank.gif art/iconround256.png art/fonts/DejaVuSans.ttf + art/osxtray.png art/chatcolor1.png diff --git a/Telegram/SourceFiles/window.cpp b/Telegram/SourceFiles/window.cpp index a26a2adaf..3fd52fed3 100644 --- a/Telegram/SourceFiles/window.cpp +++ b/Telegram/SourceFiles/window.cpp @@ -624,6 +624,7 @@ void Window::checkHistoryActivation(int state) { if (main && MTP::authedId() && historyIsActive(state)) { main->historyWasRead(); } + QTimer::singleShot(1, this, SLOT(updateTrayMenu())); } void Window::layerHidden() { @@ -740,31 +741,28 @@ bool Window::minimizeToTray() { App::writeConfig(); } if (App::main()) App::main()->setOnline(windowState()); + updateTrayMenu(); return true; } void Window::setupTrayIcon() { if (!trayIcon) { - if (trayIconMenu) trayIconMenu->deleteLater(); - trayIconMenu = new QMenu(this); - trayIconMenu->setFont(QFont("Tahoma")); - QAction *a; - a = trayIconMenu->addAction(lang(lng_open_from_tray), this, SLOT(showFromTray())); - a->setEnabled(true); - a = trayIconMenu->addAction(lang(lng_quit_from_tray), this, SLOT(quitFromTray())); - a->setEnabled(true); - if (trayIcon) trayIcon->deleteLater(); trayIcon = new QSystemTrayIcon(this); +#ifdef Q_OS_MAC + QIcon icon(QPixmap::fromImage(psTrayIcon())); + icon.addPixmap(QPixmap::fromImage(psTrayIcon(true)), QIcon::Selected); +#else + QIcon icon(QPixmap::fromImage(iconLarge())); +#endif - trayIcon->setIcon(QIcon(QPixmap::fromImage(iconLarge()))); - trayIcon->setContextMenu(trayIconMenu); + trayIcon->setIcon(icon); trayIcon->setToolTip(QString::fromStdWString(AppName)); - + connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(toggleTray(QSystemTrayIcon::ActivationReason)), Qt::UniqueConnection); if (cPlatform() != dbipMac) { - connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(toggleTray(QSystemTrayIcon::ActivationReason))); connect(trayIcon, SIGNAL(messageClicked()), this, SLOT(showFromTray())); } + updateTrayMenu(); } psUpdateCounter(); @@ -772,6 +770,24 @@ void Window::setupTrayIcon() { psUpdateDelegate(); } +void Window::updateTrayMenu(int windowState) { + bool active = psIsActive(windowState); + if (trayIconMenu) { + trayIconMenu->deleteLater(); + trayIconMenu = 0; + } + if (active || cPlatform() != dbipMac) { + trayIconMenu = new QMenu(this); + trayIconMenu->setFont(QFont("Tahoma")); + QAction *a; + a = trayIconMenu->addAction(lang(active ? lng_minimize_to_tray : lng_open_from_tray), this, active ? SLOT(minimizeToTray()) : SLOT(showFromTray())); + a->setEnabled(true); + a = trayIconMenu->addAction(lang(lng_quit_from_tray), this, SLOT(quitFromTray())); + a->setEnabled(true); + } + trayIcon->setContextMenu(trayIconMenu); +} + void Window::quitFromTray() { App::quit(); } @@ -780,6 +796,7 @@ void Window::activate() { bool wasHidden = !isVisible(); setWindowState(windowState() & ~Qt::WindowMinimized); setVisible(true); + psActivateProcess(); activateWindow(); if (wasHidden) { if (main) { @@ -836,10 +853,12 @@ void Window::showFromTray(QSystemTrayIcon::ActivationReason reason) { setWindowIcon(myIcon); psUpdateCounter(); if (App::main()) App::main()->setOnline(windowState()); + QTimer::singleShot(1, this, SLOT(updateTrayMenu())); } } void Window::toggleTray(QSystemTrayIcon::ActivationReason reason) { + if (trayIconMenu && cPlatform() == dbipMac) return; if (reason != QSystemTrayIcon::Context) { if (psIsActive()) { minimizeToTray(); @@ -1202,6 +1221,43 @@ QImage Window::iconLarge() const { return icon256; } +void Window::placeSmallCounter(QImage &img, int size, int count, style::color bg, const QPoint &shift, style::color color) { + QPainter p(&img); + + QString cnt = (count < 100) ? QString("%1").arg(count) : QString("..%1").arg(count % 10, 1, 10, QChar('0')); + int32 cntSize = cnt.size(); + + p.setBrush(bg->b); + p.setPen(Qt::NoPen); + p.setRenderHint(QPainter::Antialiasing); + int32 fontSize; + if (size == 16) { + fontSize = 8; + } else if (size == 32) { + fontSize = (cntSize < 2) ? 12 : 12; + } else { + fontSize = (cntSize < 2) ? 22 : 22; + } + style::font f(fontSize); + int32 w = f->m.width(cnt), d, r; + if (size == 16) { + d = (cntSize < 2) ? 2 : 1; + r = (cntSize < 2) ? 4 : 3; + } else if (size == 32) { + d = (cntSize < 2) ? 5 : 2; + r = (cntSize < 2) ? 8 : 7; + } else { + d = (cntSize < 2) ? 9 : 4; + r = (cntSize < 2) ? 16 : 14; + } + p.drawRoundedRect(QRect(shift.x() + size - w - d * 2, shift.y() + size - f->height, w + d * 2, f->height), r, r); + p.setFont(f->f); + + p.setPen(color->p); + + p.drawText(shift.x() + size - w - d, shift.y() + size - f->height + f->ascent, cnt); + +} QImage Window::iconWithCounter(int size, int count, style::color bg, bool smallIcon) { bool layer = false; @@ -1257,40 +1313,7 @@ QImage Window::iconWithCounter(int size, int count, style::color bg, bool smallI if (!count) return img; if (smallIcon) { - QPainter p(&img); - - QString cnt = (count < 100) ? QString("%1").arg(count) : QString("..%1").arg(count % 10, 1, 10, QChar('0')); - int32 cntSize = cnt.size(); - - p.setBrush(bg->b); - p.setPen(Qt::NoPen); - p.setRenderHint(QPainter::Antialiasing); - int32 fontSize; - if (size == 16) { - fontSize = 8; - } else if (size == 32) { - fontSize = (cntSize < 2) ? 12 : ((smallIcon || cntSize < 3) ? 12 : 10); - } else { - fontSize = (cntSize < 2) ? 22 : ((smallIcon || cntSize < 3) ? 22 : 16); - } - style::font f(fontSize); - int32 w = f->m.width(cnt), d, r; - if (size == 16) { - d = (cntSize < 2) ? 2 : 1; - r = (cntSize < 2) ? 4 : 3; - } else if (size == 32) { - d = (cntSize < 2) ? 5 : ((smallIcon || cntSize < 3) ? 2 : 1); - r = (cntSize < 2) ? 8 : ((smallIcon || cntSize < 3) ? 7 : 3); - } else { - d = (cntSize < 2) ? 9 : ((smallIcon || cntSize < 3) ? 4 : 2); - r = (cntSize < 2) ? 16 : ((smallIcon || cntSize < 3) ? 14 : 8); - } - p.drawRoundedRect(QRect(size - w - d * 2, size - f->height, w + d * 2, f->height), r, r); - p.setFont(f->f); - - p.setPen(st::counterColor->p); - - p.drawText(size - w - d, size - f->height + f->ascent, cnt); + placeSmallCounter(img, size, count, bg, QPoint(), st::counterColor); } else { QPainter p(&img); p.drawPixmap(size / 2, size / 2, QPixmap::fromImage(iconWithCounter(-size / 2, count, bg, false))); diff --git a/Telegram/SourceFiles/window.h b/Telegram/SourceFiles/window.h index e1b108ac9..0e90971eb 100644 --- a/Telegram/SourceFiles/window.h +++ b/Telegram/SourceFiles/window.h @@ -184,8 +184,6 @@ public: bool historyIsActive(int state = -1) const; - bool minimizeToTray(); - void activate(); void noIntro(IntroWidget *was); @@ -234,8 +232,10 @@ public slots: void showSettings(); void layerHidden(); void updateTitleStatus(); + void quitFromTray(); void showFromTray(QSystemTrayIcon::ActivationReason reason = QSystemTrayIcon::Unknown); + bool minimizeToTray(); void toggleTray(QSystemTrayIcon::ActivationReason reason = QSystemTrayIcon::Unknown); void onInactiveTimer(); @@ -244,7 +244,8 @@ public slots: void onTempDirClearFailed(); void notifyFire(); - + void updateTrayMenu(int windowState = -1); + signals: void resized(const QSize &size); @@ -257,6 +258,7 @@ protected: private: + void placeSmallCounter(QImage &img, int size, int count, style::color bg, const QPoint &shift, style::color color); QImage iconWithCounter(int size, int count, style::color bg, bool smallIcon); QImage icon16, icon32, icon64; diff --git a/Telegram/Telegram.xcodeproj/project.pbxproj b/Telegram/Telegram.xcodeproj/project.pbxproj index f7f401310..79c1016f5 100644 --- a/Telegram/Telegram.xcodeproj/project.pbxproj +++ b/Telegram/Telegram.xcodeproj/project.pbxproj @@ -42,6 +42,8 @@ 0732E4A9199E262300D50FE7 /* overviewwidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0732E4A7199E262300D50FE7 /* overviewwidget.cpp */; }; 0732E4AC199E268A00D50FE7 /* moc_overviewwidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0732E4AB199E268A00D50FE7 /* moc_overviewwidget.cpp */; }; 0749CE69194D723400345D61 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07C3AF24194335ED0016CFF1 /* Images.xcassets */; }; + 074FCB8E19D36851004C6EB2 /* contextmenu.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074FCB8C19D36851004C6EB2 /* contextmenu.cpp */; }; + 074FCB9119D36E60004C6EB2 /* moc_contextmenu.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074FCB9019D36E60004C6EB2 /* moc_contextmenu.cpp */; }; 07A69332199277BA0099CB9F /* mediaview.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07A69330199277BA0099CB9F /* mediaview.cpp */; }; 07A6933519927B160099CB9F /* moc_mediaview.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07A6933419927B160099CB9F /* moc_mediaview.cpp */; }; 07C4753B1967DF1C00CAAFE9 /* switcher.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07C475391967DF1C00CAAFE9 /* switcher.cpp */; }; @@ -243,6 +245,9 @@ 0732E4A7199E262300D50FE7 /* overviewwidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = overviewwidget.cpp; path = SourceFiles/overviewwidget.cpp; sourceTree = SOURCE_ROOT; }; 0732E4A8199E262300D50FE7 /* overviewwidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = overviewwidget.h; path = SourceFiles/overviewwidget.h; sourceTree = SOURCE_ROOT; }; 0732E4AB199E268A00D50FE7 /* moc_overviewwidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_overviewwidget.cpp; path = GeneratedFiles/Debug/moc_overviewwidget.cpp; sourceTree = SOURCE_ROOT; }; + 074FCB8C19D36851004C6EB2 /* contextmenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = contextmenu.cpp; path = SourceFiles/gui/contextmenu.cpp; sourceTree = SOURCE_ROOT; }; + 074FCB8D19D36851004C6EB2 /* contextmenu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = contextmenu.h; path = SourceFiles/gui/contextmenu.h; sourceTree = SOURCE_ROOT; }; + 074FCB9019D36E60004C6EB2 /* moc_contextmenu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_contextmenu.cpp; path = GeneratedFiles/Debug/moc_contextmenu.cpp; sourceTree = SOURCE_ROOT; }; 075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.3.1/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.3.1/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = ""; }; 0771C4C94B623FC34BF62983 /* intro.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = intro.cpp; path = SourceFiles/intro/intro.cpp; sourceTree = ""; }; 07A69330199277BA0099CB9F /* mediaview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = mediaview.cpp; path = SourceFiles/mediaview.cpp; sourceTree = SOURCE_ROOT; }; @@ -758,6 +763,7 @@ D3FE9C29B6A61D7C3C4B731B /* animation.cpp */, 08A7682548FB7E671FF03822 /* boxshadow.cpp */, 4D55B83DFDFE3D492CDBD27A /* button.cpp */, + 074FCB8C19D36851004C6EB2 /* contextmenu.cpp */, 751C8D0E0BE6D16937B77A2C /* countrycodeinput.cpp */, 3E329D4547CC23585307FA32 /* countryinput.cpp */, B3062303CE8F4EB9325CB3DC /* emoji_config.cpp */, @@ -777,6 +783,7 @@ 85FABD67716E36CD8B3CA4FA /* animation.h */, BDAB6725B830DEE896DC0F55 /* boxshadow.h */, 4604687EBA85611C9E8A9CDF /* button.h */, + 074FCB8D19D36851004C6EB2 /* contextmenu.h */, 60C0061633AC4244EA634B2A /* countrycodeinput.h */, 6868ADA9E9A9801B2BA92B97 /* countryinput.h */, 19618554524B8D928F13940D /* emoji_config.h */, @@ -1016,6 +1023,7 @@ 801973D3334D0FCA849CF485 /* Debug */ = { isa = PBXGroup; children = ( + 074FCB9019D36E60004C6EB2 /* moc_contextmenu.cpp */, 07D703BA19B88FB900C4EED2 /* moc_audio.cpp */, 0732E4AB199E268A00D50FE7 /* moc_overviewwidget.cpp */, 07C4753E1967E37300CAAFE9 /* moc_switcher.cpp */, @@ -1366,6 +1374,7 @@ 68FFEB7CA30BF0149161B809 /* window.cpp in Compile Sources */, 0CB7DE9A54CC9BF86FB7B5CA /* mtp.cpp in Compile Sources */, DF259E9677CC63AF8754032B /* mtpConnection.cpp in Compile Sources */, + 074FCB9119D36E60004C6EB2 /* moc_contextmenu.cpp in Compile Sources */, B6346B66B0A2228A91D8A5D9 /* mtpDC.cpp in Compile Sources */, B8CA3E1E11A7E0E7DF9E1CDE /* mtpFileLoader.cpp in Compile Sources */, 99F0A9B2AFE5ABDCBFC04510 /* mtpRPC.cpp in Compile Sources */, @@ -1387,6 +1396,7 @@ 0A49F3A5DC0680FB31519670 /* phoneinput.cpp in Compile Sources */, ADE99904299B99EB6135E8D9 /* scrollarea.cpp in Compile Sources */, 90085DF442550A0845D5AF37 /* style_core.cpp in Compile Sources */, + 074FCB8E19D36851004C6EB2 /* contextmenu.cpp in Compile Sources */, 3AA6E7264581F82856FB37F7 /* text.cpp in Compile Sources */, FCE6518C548DF7BC82228A4A /* twidget.cpp in Compile Sources */, F91C59BECCE70070B06E8385 /* lang.cpp in Compile Sources */, diff --git a/Telegram/Telegram.xcodeproj/qt_preprocess.mak b/Telegram/Telegram.xcodeproj/qt_preprocess.mak index 03331a2f3..309285533 100644 --- a/Telegram/Telegram.xcodeproj/qt_preprocess.mak +++ b/Telegram/Telegram.xcodeproj/qt_preprocess.mak @@ -38,7 +38,8 @@ compilers: GeneratedFiles/qrc_telegram.cpp GeneratedFiles/Debug/moc_application. GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.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_countrycodeinput.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\ @@ -90,9 +91,9 @@ GeneratedFiles/qrc_telegram.cpp: SourceFiles/telegram.qrc \ SourceFiles/art/chatcolor2.png /usr/local/Qt-5.3.1/bin/rcc -name telegram SourceFiles/telegram.qrc -o GeneratedFiles/qrc_telegram.cpp -compiler_moc_header_make_all: 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_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_localimageloader.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.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_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_addcontactbox.cpp GeneratedFiles/Debug/moc_addparticipantbox.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_newgroupbox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp +compiler_moc_header_make_all: 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_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_localimageloader.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.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_addcontactbox.cpp GeneratedFiles/Debug/moc_addparticipantbox.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_newgroupbox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp compiler_moc_header_clean: - -$(DEL_FILE) 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_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_localimageloader.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.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_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_addcontactbox.cpp GeneratedFiles/Debug/moc_addparticipantbox.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_newgroupbox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp + -$(DEL_FILE) 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_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_localimageloader.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.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_addcontactbox.cpp GeneratedFiles/Debug/moc_addparticipantbox.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_newgroupbox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp GeneratedFiles/Debug/moc_application.cpp: ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalSocket \ ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalServer \ ../../Libraries/QtStatic/qtbase/include/QtNetwork/QNetworkReply \ @@ -303,6 +304,10 @@ GeneratedFiles/Debug/moc_button.cpp: ../../Libraries/QtStatic/qtbase/include/QtW SourceFiles/gui/button.h /usr/local/Qt-5.3.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.3.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.3.1/include/QtGui/5.3.1/QtGui -I/usr/local/Qt-5.3.1/include/QtCore/5.3.1/QtCore -I/usr/local/Qt-5.3.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.3.1/include -I/usr/local/Qt-5.3.1/include/QtMultimedia -I/usr/local/Qt-5.3.1/include/QtWidgets -I/usr/local/Qt-5.3.1/include/QtNetwork -I/usr/local/Qt-5.3.1/include/QtGui -I/usr/local/Qt-5.3.1/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/gui/button.h -o GeneratedFiles/Debug/moc_button.cpp +GeneratedFiles/Debug/moc_contextmenu.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ + SourceFiles/gui/contextmenu.h + /usr/local/Qt-5.3.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.3.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.3.1/include/QtGui/5.3.1/QtGui -I/usr/local/Qt-5.3.1/include/QtCore/5.3.1/QtCore -I/usr/local/Qt-5.3.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.3.1/include -I/usr/local/Qt-5.3.1/include/QtMultimedia -I/usr/local/Qt-5.3.1/include/QtWidgets -I/usr/local/Qt-5.3.1/include/QtNetwork -I/usr/local/Qt-5.3.1/include/QtGui -I/usr/local/Qt-5.3.1/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/gui/contextmenu.h -o GeneratedFiles/Debug/moc_contextmenu.cpp + GeneratedFiles/Debug/moc_countrycodeinput.cpp: SourceFiles/gui/flatinput.h \ ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/style.h \ diff --git a/Telegram/_qt_5_3_1_patch/qtbase/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/Telegram/_qt_5_3_1_patch/qtbase/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm index 537a438b7..17f2df5ca 100755 --- a/Telegram/_qt_5_3_1_patch/qtbase/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm +++ b/Telegram/_qt_5_3_1_patch/qtbase/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm @@ -102,7 +102,7 @@ QT_USE_NAMESPACE QCocoaSystemTrayIcon *systray; NSStatusItem *item; QCocoaMenu *menu; - bool menuVisible; + bool menuVisible, iconSelected; QIcon icon; QT_MANGLE_NAMESPACE(QNSImageView) *imageCell; } @@ -124,6 +124,7 @@ QT_USE_NAMESPACE QT_MANGLE_NAMESPACE(QNSStatusItem) *parent; } -(id)initWithParent:(QT_MANGLE_NAMESPACE(QNSStatusItem)*)myParent; +-(void)updateIconSelection; -(void)menuTrackingDone:(NSNotification*)notification; -(void)mousePressed:(NSEvent *)mouseEvent button:(Qt::MouseButton)mouseButton; @end @@ -202,13 +203,11 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon) m_sys->item->icon = icon; - const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible; - CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]; - const short scale = (hgt - 6) * _devicePixelRatio(); + const short scale = hgt * _devicePixelRatio(); QPixmap pm = m_sys->item->icon.pixmap(QSize(scale, scale), - menuVisible ? QIcon::Selected : QIcon::Normal); + m_sys->item->iconSelected ? QIcon::Selected : QIcon::Normal); if (pm.isNull()) { pm = QPixmap(scale, scale); pm.fill(Qt::transparent); @@ -330,24 +329,30 @@ QT_END_NAMESPACE return self; } +-(void)updateIconSelection +{ + CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]; + const short scale = hgt * _devicePixelRatio(); + QPixmap pm = parent->icon.pixmap(QSize(scale, scale), + parent->iconSelected ? QIcon::Selected : QIcon::Normal); + if (pm.isNull()) { + pm = QPixmap(scale, scale); + pm.fill(Qt::transparent); + } + NSImage *nsaltimage = static_cast(qt_mac_create_nsimage(pm)); + [self setImage: nsaltimage]; + [nsaltimage release]; +} + -(void)menuTrackingDone:(NSNotification*)notification { Q_UNUSED(notification); down = NO; - CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]; - const short scale = (hgt - 6) * _devicePixelRatio(); + parent->menuVisible = false; - QPixmap pm = parent->icon.pixmap(QSize(scale, scale), QIcon::Normal); - if (pm.isNull()) { - pm = QPixmap(scale, scale); - pm.fill(Qt::transparent); - } - NSImage *nsaltimage = static_cast(qt_mac_create_nsimage(pm)); - [self setImage: nsaltimage]; - [nsaltimage release]; - - parent->menuVisible = false; + parent->iconSelected = false; + [self updateIconSelection]; [self setNeedsDisplay:YES]; } @@ -358,25 +363,15 @@ QT_END_NAMESPACE int clickCount = [mouseEvent clickCount]; [self setNeedsDisplay:YES]; - CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight]; - const short scale = (hgt - 6) * _devicePixelRatio(); + parent->iconSelected = (clickCount != 2) && parent->menu; + [self updateIconSelection]; - QPixmap pm = parent->icon.pixmap(QSize(scale, scale), - parent->menuVisible ? QIcon::Selected : QIcon::Normal); - if (pm.isNull()) { - pm = QPixmap(scale, scale); - pm.fill(Qt::transparent); - } - NSImage *nsaltimage = static_cast(qt_mac_create_nsimage(pm)); - [self setImage: nsaltimage]; - [nsaltimage release]; - - if (clickCount == 2) { - [self menuTrackingDone:nil]; - [parent doubleClickSelector:self]; - } else { - [parent triggerSelector:self button:mouseButton]; - } + if (clickCount == 2) { + [self menuTrackingDone:nil]; + [parent doubleClickSelector:self]; + } else { + [parent triggerSelector:self button:mouseButton]; + } } -(void)mouseDown:(NSEvent *)mouseEvent @@ -388,6 +383,9 @@ QT_END_NAMESPACE { Q_UNUSED(mouseEvent); [self menuTrackingDone:nil]; + + parent->iconSelected = false; + [self updateIconSelection]; } - (void)rightMouseDown:(NSEvent *)mouseEvent @@ -399,6 +397,9 @@ QT_END_NAMESPACE { Q_UNUSED(mouseEvent); [self menuTrackingDone:nil]; + + parent->iconSelected = false; + [self updateIconSelection]; } - (void)otherMouseDown:(NSEvent *)mouseEvent @@ -413,7 +414,7 @@ QT_END_NAMESPACE } -(void)drawRect:(NSRect)rect { - [[parent item] drawStatusBarBackgroundInRect:rect withHighlight:down]; + [[parent item] drawStatusBarBackgroundInRect:rect withHighlight:parent->menu ? down : NO]; [super drawRect:rect]; } @end diff --git a/Telegram/_qt_5_3_1_patch/qtbase/src/widgets/util/qsystemtrayicon_qpa.cpp b/Telegram/_qt_5_3_1_patch/qtbase/src/widgets/util/qsystemtrayicon_qpa.cpp new file mode 100644 index 000000000..1e621e48f --- /dev/null +++ b/Telegram/_qt_5_3_1_patch/qtbase/src/widgets/util/qsystemtrayicon_qpa.cpp @@ -0,0 +1,168 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the QtWidgets module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qsystemtrayicon_p.h" + +#include +#include +#include + +#include +#include + +#ifndef QT_NO_SYSTEMTRAYICON + +QT_BEGIN_NAMESPACE + +QSystemTrayIconPrivate::QSystemTrayIconPrivate() + : qpa_sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()) + , visible(false) +{ +} + +QSystemTrayIconPrivate::~QSystemTrayIconPrivate() +{ + delete qpa_sys; +} + +void QSystemTrayIconPrivate::install_sys() +{ + if (qpa_sys) { + qpa_sys->init(); + QObject::connect(qpa_sys, SIGNAL(activated(QPlatformSystemTrayIcon::ActivationReason)), + q_func(), SLOT(_q_emitActivated(QPlatformSystemTrayIcon::ActivationReason))); + QObject::connect(qpa_sys, SIGNAL(messageClicked()), + q_func(), SIGNAL(messageClicked())); + updateMenu_sys(); + updateIcon_sys(); + updateToolTip_sys(); + } +} + +void QSystemTrayIconPrivate::remove_sys() +{ + if (qpa_sys) + qpa_sys->cleanup(); +} + +QRect QSystemTrayIconPrivate::geometry_sys() const +{ + if (qpa_sys) + return qpa_sys->geometry(); + else + return QRect(); +} + +void QSystemTrayIconPrivate::updateIcon_sys() +{ + if (qpa_sys) + qpa_sys->updateIcon(icon); +} + +void QSystemTrayIconPrivate::updateMenu_sys() +{ + if (qpa_sys) { + if (menu) { + if (!menu->platformMenu()) { + QPlatformMenu *platformMenu = qpa_sys->createMenu(); + if (platformMenu) + menu->setPlatformMenu(platformMenu); + } + qpa_sys->updateMenu(menu->platformMenu()); + } else { + qpa_sys->updateMenu(0); + } + } +} + +void QSystemTrayIconPrivate::updateToolTip_sys() +{ + if (qpa_sys) + qpa_sys->updateToolTip(toolTip); +} + +bool QSystemTrayIconPrivate::isSystemTrayAvailable_sys() +{ + QScopedPointer sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()); + if (sys) + return sys->isSystemTrayAvailable(); + else + return false; +} + +bool QSystemTrayIconPrivate::supportsMessages_sys() +{ + QScopedPointer sys(QGuiApplicationPrivate::platformTheme()->createPlatformSystemTrayIcon()); + if (sys) + return sys->supportsMessages(); + else + return false; +} + +void QSystemTrayIconPrivate::showMessage_sys(const QString &message, + const QString &title, + QSystemTrayIcon::MessageIcon icon, + int msecs) +{ + if (!qpa_sys) + return; + + QIcon notificationIcon; + switch (icon) { + case QSystemTrayIcon::Information: + notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxInformation); + break; + case QSystemTrayIcon::Warning: + notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxWarning); + break; + case QSystemTrayIcon::Critical: + notificationIcon = QApplication::style()->standardIcon(QStyle::SP_MessageBoxCritical); + break; + default: + break; + } + qpa_sys->showMessage(message, title, notificationIcon, + static_cast(icon), msecs); +} + +QT_END_NAMESPACE + +#endif // QT_NO_SYSTEMTRAYICON