ClickHandler, TopBarWidget and Overview layouts moved to separate files.
Xcode and QtCreator builds are currently broken.
This commit is contained in:
parent
b07cd1264c
commit
5a3fea05ac
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
|
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include <libexif/exif-data.h>
|
#include <libexif/exif-data.h>
|
||||||
#endif
|
#endif
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
#include "numbers.h"
|
#include "numbers.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
@ -146,23 +146,29 @@ namespace App {
|
||||||
return AppClass::app();
|
return AppClass::app();
|
||||||
}
|
}
|
||||||
|
|
||||||
Window *wnd() {
|
MainWindow *wnd() {
|
||||||
return AppClass::wnd();
|
return AppClass::wnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWidget *main() {
|
MainWidget *main() {
|
||||||
Window *w(wnd());
|
if (auto w = wnd()) {
|
||||||
return w ? w->mainWidget() : 0;
|
return w->mainWidget();
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsWidget *settings() {
|
SettingsWidget *settings() {
|
||||||
Window *w(wnd());
|
if (auto w = wnd()) {
|
||||||
return w ? w->settingsWidget() : 0;
|
return w->settingsWidget();
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool passcoded() {
|
bool passcoded() {
|
||||||
Window *w(wnd());
|
if (auto w = wnd()) {
|
||||||
return w ? w->passcodeWidget() : 0;
|
return w->passcodeWidget();
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
FileUploader *uploader() {
|
FileUploader *uploader() {
|
||||||
|
@ -181,7 +187,7 @@ namespace {
|
||||||
if (audioPlayer()) {
|
if (audioPlayer()) {
|
||||||
audioPlayer()->stopAndClear();
|
audioPlayer()->stopAndClear();
|
||||||
}
|
}
|
||||||
if (Window *w = wnd()) {
|
if (auto w = wnd()) {
|
||||||
w->tempDirDelete(Local::ClearManagerAll);
|
w->tempDirDelete(Local::ClearManagerAll);
|
||||||
w->notifyClearFast();
|
w->notifyClearFast();
|
||||||
w->setupIntro(true);
|
w->setupIntro(true);
|
||||||
|
@ -196,7 +202,7 @@ namespace {
|
||||||
globalNotifyChatsPtr = UnknownNotifySettings;
|
globalNotifyChatsPtr = UnknownNotifySettings;
|
||||||
if (App::uploader()) App::uploader()->clear();
|
if (App::uploader()) App::uploader()->clear();
|
||||||
clearStorageImages();
|
clearStorageImages();
|
||||||
if (Window *w = wnd()) {
|
if (auto w = wnd()) {
|
||||||
w->getTitle()->updateBackButton();
|
w->getTitle()->updateBackButton();
|
||||||
w->updateTitleStatus();
|
w->updateTitleStatus();
|
||||||
w->getTitle()->resizeEvent(0);
|
w->getTitle()->resizeEvent(0);
|
||||||
|
|
|
@ -20,10 +20,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "basic_types.h"
|
#include "core/basic_types.h"
|
||||||
|
|
||||||
class AppClass;
|
class AppClass;
|
||||||
class Window;
|
class MainWindow;
|
||||||
class MainWidget;
|
class MainWidget;
|
||||||
class SettingsWidget;
|
class SettingsWidget;
|
||||||
class ApiWrap;
|
class ApiWrap;
|
||||||
|
@ -48,7 +48,7 @@ class LayeredWidget;
|
||||||
|
|
||||||
namespace App {
|
namespace App {
|
||||||
AppClass *app();
|
AppClass *app();
|
||||||
Window *wnd();
|
MainWindow *wnd();
|
||||||
MainWidget *main();
|
MainWidget *main();
|
||||||
SettingsWidget *settings();
|
SettingsWidget *settings();
|
||||||
bool passcoded();
|
bool passcoded();
|
||||||
|
|
|
@ -718,7 +718,7 @@ AppClass::AppClass() : QObject()
|
||||||
|
|
||||||
QMimeDatabase().mimeTypeForName(qsl("text/plain")); // create mime database
|
QMimeDatabase().mimeTypeForName(qsl("text/plain")); // create mime database
|
||||||
|
|
||||||
_window = new Window();
|
_window = new MainWindow();
|
||||||
_window->createWinId();
|
_window->createWinId();
|
||||||
_window->init();
|
_window->init();
|
||||||
|
|
||||||
|
@ -1053,7 +1053,7 @@ void AppClass::checkMapVersion() {
|
||||||
AppClass::~AppClass() {
|
AppClass::~AppClass() {
|
||||||
Shortcuts::finish();
|
Shortcuts::finish();
|
||||||
|
|
||||||
if (Window *w = _window) {
|
if (auto w = _window) {
|
||||||
_window = 0;
|
_window = 0;
|
||||||
delete w;
|
delete w;
|
||||||
}
|
}
|
||||||
|
@ -1086,7 +1086,7 @@ AppClass *AppClass::app() {
|
||||||
return AppObject;
|
return AppObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
Window *AppClass::wnd() {
|
MainWindow *AppClass::wnd() {
|
||||||
return AppObject ? AppObject->_window : 0;
|
return AppObject ? AppObject->_window : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "pspecific.h"
|
#include "pspecific.h"
|
||||||
|
|
||||||
class UpdateChecker;
|
class UpdateChecker;
|
||||||
|
@ -153,7 +153,7 @@ public:
|
||||||
~AppClass();
|
~AppClass();
|
||||||
|
|
||||||
static AppClass *app();
|
static AppClass *app();
|
||||||
static Window *wnd();
|
static MainWindow *wnd();
|
||||||
static MainWidget *main();
|
static MainWidget *main();
|
||||||
|
|
||||||
FileUploader *uploader();
|
FileUploader *uploader();
|
||||||
|
@ -212,7 +212,7 @@ private:
|
||||||
|
|
||||||
uint64 _lastActionTime;
|
uint64 _lastActionTime;
|
||||||
|
|
||||||
Window *_window;
|
MainWindow *_window;
|
||||||
FileUploader *_uploader;
|
FileUploader *_uploader;
|
||||||
Translator *_translator;
|
Translator *_translator;
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "basic_types.h"
|
#include "core/basic_types.h"
|
||||||
|
|
||||||
void audioInit();
|
void audioInit();
|
||||||
bool audioWorks();
|
bool audioWorks();
|
||||||
|
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "aboutbox.h"
|
#include "aboutbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include "autoupdater.h"
|
#include "autoupdater.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
|
|
|
@ -25,7 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "abstractbox.h"
|
#include "abstractbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
void BlueTitleShadow::paintEvent(QPaintEvent *e) {
|
void BlueTitleShadow::paintEvent(QPaintEvent *e) {
|
||||||
Painter p(this);
|
Painter p(this);
|
||||||
|
|
|
@ -28,7 +28,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "photocropbox.h"
|
#include "photocropbox.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
|
|
||||||
AddContactBox::AddContactBox(QString fname, QString lname, QString phone) : AbstractBox(st::boxWidth)
|
AddContactBox::AddContactBox(QString fname, QString lname, QString phone) : AbstractBox(st::boxWidth)
|
||||||
, _user(0)
|
, _user(0)
|
||||||
|
|
|
@ -26,7 +26,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "autolockbox.h"
|
#include "autolockbox.h"
|
||||||
#include "confirmbox.h"
|
#include "confirmbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
AutoLockBox::AutoLockBox() :
|
AutoLockBox::AutoLockBox() :
|
||||||
_close(this, lang(lng_box_ok), st::defaultBoxButton) {
|
_close(this, lang(lng_box_ok), st::defaultBoxButton) {
|
||||||
|
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "backgroundbox.h"
|
#include "backgroundbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "settingswidget.h"
|
#include "settingswidget.h"
|
||||||
|
|
||||||
BackgroundInner::BackgroundInner() :
|
BackgroundInner::BackgroundInner() :
|
||||||
|
|
|
@ -23,9 +23,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "confirmbox.h"
|
#include "confirmbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
|
#include "core/click_handler_types.h"
|
||||||
|
|
||||||
TextParseOptions _confirmBoxTextOptions = {
|
TextParseOptions _confirmBoxTextOptions = {
|
||||||
TextParseLinks | TextParseMultiline | TextParseRichText, // flags
|
TextParseLinks | TextParseMultiline | TextParseRichText, // flags
|
||||||
|
|
|
@ -25,7 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "connectionbox.h"
|
#include "connectionbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
ConnectionBox::ConnectionBox() : AbstractBox(st::boxWidth)
|
ConnectionBox::ConnectionBox() : AbstractBox(st::boxWidth)
|
||||||
, _hostInput(this, st::connectionHostInputField, lang(lng_connection_host_ph), cConnectionProxy().host)
|
, _hostInput(this, st::connectionHostInputField, lang(lng_connection_host_ph), cConnectionProxy().host)
|
||||||
|
|
|
@ -26,11 +26,12 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "boxes/addcontactbox.h"
|
#include "boxes/addcontactbox.h"
|
||||||
#include "boxes/contactsbox.h"
|
#include "boxes/contactsbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
#include "boxes/photocropbox.h"
|
#include "boxes/photocropbox.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
|
|
||||||
QString cantInviteError() {
|
QString cantInviteError() {
|
||||||
return lng_cant_invite_not_contact(lt_more_info, textcmdLink(qsl("https://telegram.me/spambot"), lang(lng_cant_more_info)));
|
return lng_cant_invite_not_contact(lt_more_info, textcmdLink(qsl("https://telegram.me/spambot"), lang(lng_cant_more_info)));
|
||||||
|
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "emojibox.h"
|
#include "emojibox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
// copied from genemoji.cpp
|
// copied from genemoji.cpp
|
||||||
|
|
|
@ -26,7 +26,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "languagebox.h"
|
#include "languagebox.h"
|
||||||
#include "confirmbox.h"
|
#include "confirmbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include "langloaderplain.h"
|
#include "langloaderplain.h"
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "passcodebox.h"
|
#include "passcodebox.h"
|
||||||
#include "confirmbox.h"
|
#include "confirmbox.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "sessionsbox.h"
|
#include "sessionsbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include "countries.h"
|
#include "countries.h"
|
||||||
#include "confirmbox.h"
|
#include "confirmbox.h"
|
||||||
|
|
|
@ -23,10 +23,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "stickersetbox.h"
|
#include "stickersetbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "settingswidget.h"
|
#include "settingswidget.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
|
||||||
StickerSetInner::StickerSetInner(const MTPInputStickerSet &set) : TWidget()
|
StickerSetInner::StickerSetInner(const MTPInputStickerSet &set) : TWidget()
|
||||||
|
|
|
@ -24,7 +24,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "usernamebox.h"
|
#include "usernamebox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
UsernameBox::UsernameBox() : AbstractBox(st::boxWidth),
|
UsernameBox::UsernameBox() : AbstractBox(st::boxWidth),
|
||||||
_save(this, lang(lng_settings_save), st::defaultBoxButton),
|
_save(this, lang(lng_settings_save), st::defaultBoxButton),
|
||||||
|
|
|
@ -0,0 +1,63 @@
|
||||||
|
/*
|
||||||
|
This file is part of Telegram Desktop,
|
||||||
|
the official desktop version of Telegram 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.
|
||||||
|
|
||||||
|
In addition, as a special exception, the copyright holders give permission
|
||||||
|
to link the code of portions of this program with the OpenSSL library.
|
||||||
|
|
||||||
|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
*/
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "core/click_handler.h"
|
||||||
|
|
||||||
|
ClickHandlerHost::~ClickHandlerHost() {
|
||||||
|
ClickHandler::hostDestroyed(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
NeverFreedPointer<ClickHandlerPtr> ClickHandler::_active;
|
||||||
|
NeverFreedPointer<ClickHandlerPtr> ClickHandler::_pressed;
|
||||||
|
ClickHandlerHost *ClickHandler::_activeHost = nullptr;
|
||||||
|
ClickHandlerHost *ClickHandler::_pressedHost = nullptr;
|
||||||
|
|
||||||
|
bool ClickHandler::setActive(const ClickHandlerPtr &p, ClickHandlerHost *host) {
|
||||||
|
if ((_active && (*_active == p)) || (!_active && !p)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// emit clickHandlerActiveChanged only when there is no
|
||||||
|
// other pressed click handler currently, if there is
|
||||||
|
// this method will be called when it is unpressed
|
||||||
|
if (_active && *_active) {
|
||||||
|
bool emitClickHandlerActiveChanged = (!_pressed || !*_pressed || *_pressed == *_active);
|
||||||
|
ClickHandlerPtr wasactive = *_active;
|
||||||
|
(*_active).clear();
|
||||||
|
if (_activeHost) {
|
||||||
|
if (emitClickHandlerActiveChanged) {
|
||||||
|
_activeHost->clickHandlerActiveChanged(wasactive, false);
|
||||||
|
}
|
||||||
|
_activeHost = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (p) {
|
||||||
|
_active.makeIfNull();
|
||||||
|
*_active = p;
|
||||||
|
if ((_activeHost = host)) {
|
||||||
|
bool emitClickHandlerActiveChanged = (!_pressed || !*_pressed || *_pressed == *_active);
|
||||||
|
if (emitClickHandlerActiveChanged) {
|
||||||
|
_activeHost->clickHandlerActiveChanged(*_active, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
|
@ -0,0 +1,157 @@
|
||||||
|
/*
|
||||||
|
This file is part of Telegram Desktop,
|
||||||
|
the official desktop version of Telegram 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.
|
||||||
|
|
||||||
|
In addition, as a special exception, the copyright holders give permission
|
||||||
|
to link the code of portions of this program with the OpenSSL library.
|
||||||
|
|
||||||
|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
class ClickHandler;
|
||||||
|
using ClickHandlerPtr = QSharedPointer<ClickHandler>;
|
||||||
|
|
||||||
|
class ClickHandlerHost {
|
||||||
|
protected:
|
||||||
|
|
||||||
|
virtual void clickHandlerActiveChanged(const ClickHandlerPtr &action, bool active) {
|
||||||
|
}
|
||||||
|
virtual void clickHandlerPressedChanged(const ClickHandlerPtr &action, bool pressed) {
|
||||||
|
}
|
||||||
|
virtual ~ClickHandlerHost() = 0;
|
||||||
|
friend class ClickHandler;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class ClickHandler {
|
||||||
|
public:
|
||||||
|
|
||||||
|
virtual void onClick(Qt::MouseButton) const = 0;
|
||||||
|
|
||||||
|
virtual QString tooltip() const {
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
virtual void copyToClipboard() const {
|
||||||
|
}
|
||||||
|
virtual QString copyToClipboardContextItem() const {
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
virtual QString text() const {
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
virtual QString dragText() const {
|
||||||
|
return text();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual ~ClickHandler() {
|
||||||
|
}
|
||||||
|
|
||||||
|
// this method should be called on mouse over a click handler
|
||||||
|
// it returns true if something was changed or false otherwise
|
||||||
|
static bool setActive(const ClickHandlerPtr &p, ClickHandlerHost *host = nullptr);
|
||||||
|
|
||||||
|
// this method should be called when mouse leaves the host
|
||||||
|
// it returns true if something was changed or false otherwise
|
||||||
|
static bool clearActive(ClickHandlerHost *host = nullptr) {
|
||||||
|
if (host && _activeHost != host) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return setActive(ClickHandlerPtr(), host);
|
||||||
|
}
|
||||||
|
|
||||||
|
// this method should be called on mouse pressed
|
||||||
|
static void pressed() {
|
||||||
|
unpressed();
|
||||||
|
if (!_active || !*_active) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
_pressed.makeIfNull();
|
||||||
|
*_pressed = *_active;
|
||||||
|
if ((_pressedHost = _activeHost)) {
|
||||||
|
_pressedHost->clickHandlerPressedChanged(*_pressed, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// this method should be called on mouse released
|
||||||
|
// the activated click handler is returned
|
||||||
|
static ClickHandlerPtr unpressed() {
|
||||||
|
if (_pressed && *_pressed) {
|
||||||
|
bool activated = (_active && *_active == *_pressed);
|
||||||
|
ClickHandlerPtr waspressed = *_pressed;
|
||||||
|
(*_pressed).clear();
|
||||||
|
if (_pressedHost) {
|
||||||
|
_pressedHost->clickHandlerPressedChanged(waspressed, false);
|
||||||
|
_pressedHost = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activated) {
|
||||||
|
return *_active;
|
||||||
|
} else if (_active && *_active && _activeHost) {
|
||||||
|
// emit clickHandlerActiveChanged for current active
|
||||||
|
// click handler, which we didn't emit while we has
|
||||||
|
// a pressed click handler
|
||||||
|
_activeHost->clickHandlerActiveChanged(*_active, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ClickHandlerPtr();
|
||||||
|
}
|
||||||
|
|
||||||
|
static ClickHandlerPtr getActive() {
|
||||||
|
return _active ? *_active : ClickHandlerPtr();
|
||||||
|
}
|
||||||
|
static ClickHandlerPtr getPressed() {
|
||||||
|
return _pressed ? *_pressed : ClickHandlerPtr();
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool showAsActive(const ClickHandlerPtr &p) {
|
||||||
|
if (!p || !_active || p != *_active) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return !_pressed || !*_pressed || (p == *_pressed);
|
||||||
|
}
|
||||||
|
static bool showAsPressed(const ClickHandlerPtr &p) {
|
||||||
|
if (!p || !_active || p != *_active) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return _pressed && (p == *_pressed);
|
||||||
|
}
|
||||||
|
static void hostDestroyed(ClickHandlerHost *host) {
|
||||||
|
if (_activeHost == host) {
|
||||||
|
_activeHost = nullptr;
|
||||||
|
} else if (_pressedHost == host) {
|
||||||
|
_pressedHost = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
static NeverFreedPointer<ClickHandlerPtr> _active;
|
||||||
|
static NeverFreedPointer<ClickHandlerPtr> _pressed;
|
||||||
|
static ClickHandlerHost *_activeHost;
|
||||||
|
static ClickHandlerHost *_pressedHost;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class LeftButtonClickHandler : public ClickHandler {
|
||||||
|
public:
|
||||||
|
void onClick(Qt::MouseButton button) const override final {
|
||||||
|
if (button != Qt::LeftButton) return;
|
||||||
|
onClickImpl();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void onClickImpl() const = 0;
|
||||||
|
|
||||||
|
};
|
|
@ -0,0 +1,133 @@
|
||||||
|
/*
|
||||||
|
This file is part of Telegram Desktop,
|
||||||
|
the official desktop version of Telegram 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.
|
||||||
|
|
||||||
|
In addition, as a special exception, the copyright holders give permission
|
||||||
|
to link the code of portions of this program with the OpenSSL library.
|
||||||
|
|
||||||
|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
*/
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "core/click_handler_types.h"
|
||||||
|
|
||||||
|
#include "lang.h"
|
||||||
|
#include "pspecific.h"
|
||||||
|
#include "boxes/confirmbox.h"
|
||||||
|
|
||||||
|
QString UrlClickHandler::copyToClipboardContextItem() const {
|
||||||
|
return lang(isEmail() ? lng_context_copy_email : lng_context_copy_link);
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
QString tryConvertUrlToLocal(const QString &url) {
|
||||||
|
QRegularExpressionMatch telegramMeUser = QRegularExpression(qsl("^https?://telegram\\.me/([a-zA-Z0-9\\.\\_]+)(/?\\?|/?$|/(\\d+)/?(?:\\?|$))"), QRegularExpression::CaseInsensitiveOption).match(url);
|
||||||
|
QRegularExpressionMatch telegramMeGroup = QRegularExpression(qsl("^https?://telegram\\.me/joinchat/([a-zA-Z0-9\\.\\_\\-]+)(\\?|$)"), QRegularExpression::CaseInsensitiveOption).match(url);
|
||||||
|
QRegularExpressionMatch telegramMeStickers = QRegularExpression(qsl("^https?://telegram\\.me/addstickers/([a-zA-Z0-9\\.\\_]+)(\\?|$)"), QRegularExpression::CaseInsensitiveOption).match(url);
|
||||||
|
QRegularExpressionMatch telegramMeShareUrl = QRegularExpression(qsl("^https?://telegram\\.me/share/url\\?(.+)$"), QRegularExpression::CaseInsensitiveOption).match(url);
|
||||||
|
if (telegramMeGroup.hasMatch()) {
|
||||||
|
return qsl("tg://join?invite=") + myUrlEncode(telegramMeGroup.captured(1));
|
||||||
|
} else if (telegramMeStickers.hasMatch()) {
|
||||||
|
return qsl("tg://addstickers?set=") + myUrlEncode(telegramMeStickers.captured(1));
|
||||||
|
} else if (telegramMeShareUrl.hasMatch()) {
|
||||||
|
return qsl("tg://msg_url?") + telegramMeShareUrl.captured(1);
|
||||||
|
} else if (telegramMeUser.hasMatch()) {
|
||||||
|
QString params = url.mid(telegramMeUser.captured(0).size()), postParam;
|
||||||
|
if (QRegularExpression(qsl("^/\\d+/?(?:\\?|$)")).match(telegramMeUser.captured(2)).hasMatch()) {
|
||||||
|
postParam = qsl("&post=") + telegramMeUser.captured(3);
|
||||||
|
}
|
||||||
|
return qsl("tg://resolve/?domain=") + myUrlEncode(telegramMeUser.captured(1)) + postParam + (params.isEmpty() ? QString() : '&' + params);
|
||||||
|
}
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
void UrlClickHandler::doOpen(QString url) {
|
||||||
|
PopupTooltip::Hide();
|
||||||
|
|
||||||
|
if (isEmail(url)) {
|
||||||
|
QUrl u(qstr("mailto:") + url);
|
||||||
|
if (!QDesktopServices::openUrl(u)) {
|
||||||
|
psOpenFile(u.toString(QUrl::FullyEncoded), true);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
url = tryConvertUrlToLocal(url);
|
||||||
|
|
||||||
|
if (url.startsWith(qstr("tg://"), Qt::CaseInsensitive)) {
|
||||||
|
App::openLocalUrl(url);
|
||||||
|
} else {
|
||||||
|
QDesktopServices::openUrl(url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void HiddenUrlClickHandler::onClick(Qt::MouseButton button) const {
|
||||||
|
QString u = url();
|
||||||
|
|
||||||
|
u = tryConvertUrlToLocal(u);
|
||||||
|
|
||||||
|
if (u.startsWith(qstr("tg://"))) {
|
||||||
|
App::openLocalUrl(u);
|
||||||
|
} else {
|
||||||
|
Ui::showLayer(new ConfirmLinkBox(u));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString LocationClickHandler::copyToClipboardContextItem() const {
|
||||||
|
return lang(lng_context_copy_link);
|
||||||
|
}
|
||||||
|
|
||||||
|
void LocationClickHandler::onClick(Qt::MouseButton button) const {
|
||||||
|
if (!psLaunchMaps(_coords)) {
|
||||||
|
QDesktopServices::openUrl(_text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void LocationClickHandler::setup() {
|
||||||
|
QString latlon(qsl("%1,%2").arg(_coords.lat).arg(_coords.lon));
|
||||||
|
_text = qsl("https://maps.google.com/maps?q=") + latlon + qsl("&ll=") + latlon + qsl("&z=16");
|
||||||
|
}
|
||||||
|
|
||||||
|
QString MentionClickHandler::copyToClipboardContextItem() const {
|
||||||
|
return lang(lng_context_copy_mention);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MentionClickHandler::onClick(Qt::MouseButton button) const {
|
||||||
|
if (button == Qt::LeftButton || button == Qt::MiddleButton) {
|
||||||
|
App::openPeerByName(_tag.mid(1), ShowAtProfileMsgId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString HashtagClickHandler::copyToClipboardContextItem() const {
|
||||||
|
return lang(lng_context_copy_hashtag);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HashtagClickHandler::onClick(Qt::MouseButton button) const {
|
||||||
|
if (button == Qt::LeftButton || button == Qt::MiddleButton) {
|
||||||
|
App::searchByHashtag(_tag, Ui::getPeerForMouseAction());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void BotCommandClickHandler::onClick(Qt::MouseButton button) const {
|
||||||
|
if (button == Qt::LeftButton || button == Qt::MiddleButton) {
|
||||||
|
if (PeerData *peer = Ui::getPeerForMouseAction()) {
|
||||||
|
Ui::showPeerHistory(peer, ShowAtTheEndMsgId);
|
||||||
|
App::sendBotCommand(peer, _cmd);
|
||||||
|
} else {
|
||||||
|
App::insertBotCommand(_cmd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,181 @@
|
||||||
|
/*
|
||||||
|
This file is part of Telegram Desktop,
|
||||||
|
the official desktop version of Telegram 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.
|
||||||
|
|
||||||
|
In addition, as a special exception, the copyright holders give permission
|
||||||
|
to link the code of portions of this program with the OpenSSL library.
|
||||||
|
|
||||||
|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "core/click_handler.h"
|
||||||
|
|
||||||
|
class TextClickHandler : public ClickHandler {
|
||||||
|
public:
|
||||||
|
|
||||||
|
TextClickHandler(bool fullDisplayed = true) : _fullDisplayed(fullDisplayed) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void copyToClipboard() const override {
|
||||||
|
QString u = url();
|
||||||
|
if (!u.isEmpty()) {
|
||||||
|
QApplication::clipboard()->setText(u);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString tooltip() const override {
|
||||||
|
return _fullDisplayed ? QString() : readable();
|
||||||
|
}
|
||||||
|
|
||||||
|
void setFullDisplayed(bool full) {
|
||||||
|
_fullDisplayed = full;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual QString url() const = 0;
|
||||||
|
virtual QString readable() const {
|
||||||
|
return url();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool _fullDisplayed;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class UrlClickHandler : public TextClickHandler {
|
||||||
|
public:
|
||||||
|
UrlClickHandler(const QString &url, bool fullDisplayed = true) : TextClickHandler(fullDisplayed), _url(url) {
|
||||||
|
if (isEmail()) {
|
||||||
|
_readable = _url;
|
||||||
|
} else {
|
||||||
|
QUrl u(_url), good(u.isValid() ? u.toEncoded() : QString());
|
||||||
|
_readable = good.isValid() ? good.toDisplayString() : _url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QString copyToClipboardContextItem() const override;
|
||||||
|
|
||||||
|
QString text() const override {
|
||||||
|
return _url;
|
||||||
|
}
|
||||||
|
QString dragText() const override {
|
||||||
|
return url();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void doOpen(QString url);
|
||||||
|
void onClick(Qt::MouseButton button) const override {
|
||||||
|
if (button == Qt::LeftButton || button == Qt::MiddleButton) {
|
||||||
|
doOpen(url());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QString url() const override {
|
||||||
|
if (isEmail()) {
|
||||||
|
return _url;
|
||||||
|
}
|
||||||
|
|
||||||
|
QUrl u(_url), good(u.isValid() ? u.toEncoded() : QString());
|
||||||
|
QString result(good.isValid() ? QString::fromUtf8(good.toEncoded()) : _url);
|
||||||
|
|
||||||
|
if (!QRegularExpression(qsl("^[a-zA-Z]+:")).match(result).hasMatch()) { // no protocol
|
||||||
|
return qsl("http://") + result;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
QString readable() const override {
|
||||||
|
return _readable;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
static bool isEmail(const QString &url) {
|
||||||
|
int at = url.indexOf('@'), slash = url.indexOf('/');
|
||||||
|
return ((at > 0) && (slash < 0 || slash > at));
|
||||||
|
}
|
||||||
|
bool isEmail() const {
|
||||||
|
return isEmail(_url);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString _url, _readable;
|
||||||
|
|
||||||
|
};
|
||||||
|
typedef QSharedPointer<TextClickHandler> TextClickHandlerPtr;
|
||||||
|
|
||||||
|
class HiddenUrlClickHandler : public UrlClickHandler {
|
||||||
|
public:
|
||||||
|
HiddenUrlClickHandler(QString url) : UrlClickHandler(url, false) {
|
||||||
|
}
|
||||||
|
void onClick(Qt::MouseButton button) const override;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class MentionClickHandler : public TextClickHandler {
|
||||||
|
public:
|
||||||
|
MentionClickHandler(const QString &tag) : _tag(tag) {
|
||||||
|
}
|
||||||
|
QString copyToClipboardContextItem() const override;
|
||||||
|
|
||||||
|
QString text() const override {
|
||||||
|
return _tag;
|
||||||
|
}
|
||||||
|
void onClick(Qt::MouseButton button) const override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QString url() const override {
|
||||||
|
return _tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString _tag;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class HashtagClickHandler : public TextClickHandler {
|
||||||
|
public:
|
||||||
|
HashtagClickHandler(const QString &tag) : _tag(tag) {
|
||||||
|
}
|
||||||
|
QString copyToClipboardContextItem() const override;
|
||||||
|
|
||||||
|
QString text() const override {
|
||||||
|
return _tag;
|
||||||
|
}
|
||||||
|
void onClick(Qt::MouseButton button) const override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QString url() const override {
|
||||||
|
return _tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString _tag;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class BotCommandClickHandler : public TextClickHandler {
|
||||||
|
public:
|
||||||
|
BotCommandClickHandler(const QString &cmd) : _cmd(cmd) {
|
||||||
|
}
|
||||||
|
QString text() const override {
|
||||||
|
return _cmd;
|
||||||
|
}
|
||||||
|
void onClick(Qt::MouseButton button) const override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
QString url() const override {
|
||||||
|
return _cmd;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString _cmd;
|
||||||
|
|
||||||
|
};
|
|
@ -26,13 +26,14 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "ui/style.h"
|
#include "ui/style.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "dialogswidget.h"
|
#include "dialogswidget.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "boxes/addcontactbox.h"
|
#include "boxes/addcontactbox.h"
|
||||||
#include "boxes/contactsbox.h"
|
#include "boxes/contactsbox.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
|
|
||||||
DialogsInner::DialogsInner(QWidget *parent, MainWidget *main) : SplittedWidget(parent)
|
DialogsInner::DialogsInner(QWidget *parent, MainWidget *main) : SplittedWidget(parent)
|
||||||
, dialogs(std_::make_unique<Dialogs::IndexedList>(Dialogs::SortMode::Date))
|
, dialogs(std_::make_unique<Dialogs::IndexedList>(Dialogs::SortMode::Date))
|
||||||
|
|
|
@ -28,7 +28,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "historywidget.h"
|
#include "historywidget.h"
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "apiwrap.h"
|
#include "apiwrap.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
|
|
||||||
|
|
|
@ -20,12 +20,11 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
|
#include "core/click_handler_types.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
|
|
||||||
#include "layerwidget.h"
|
#include "layerwidget.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
|
|
||||||
|
@ -136,13 +135,13 @@ void removeDialog(History *history) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void showSettings() {
|
void showSettings() {
|
||||||
if (Window *w = wnd()) {
|
if (auto w = wnd()) {
|
||||||
w->showSettings();
|
w->showSettings();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void activateClickHandler(ClickHandlerPtr handler, Qt::MouseButton button) {
|
void activateClickHandler(ClickHandlerPtr handler, Qt::MouseButton button) {
|
||||||
if (Window *w = wnd()) {
|
if (auto w = wnd()) {
|
||||||
qRegisterMetaType<ClickHandlerPtr>();
|
qRegisterMetaType<ClickHandlerPtr>();
|
||||||
qRegisterMetaType<Qt::MouseButton>();
|
qRegisterMetaType<Qt::MouseButton>();
|
||||||
QMetaObject::invokeMethod(w, "app_activateClickHandler", Qt::QueuedConnection, Q_ARG(ClickHandlerPtr, handler), Q_ARG(Qt::MouseButton, button));
|
QMetaObject::invokeMethod(w, "app_activateClickHandler", Qt::QueuedConnection, Q_ARG(ClickHandlerPtr, handler), Q_ARG(Qt::MouseButton, button));
|
||||||
|
@ -150,7 +149,7 @@ void activateClickHandler(ClickHandlerPtr handler, Qt::MouseButton button) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void logOutDelayed() {
|
void logOutDelayed() {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
QMetaObject::invokeMethod(w, "onLogoutSure", Qt::QueuedConnection);
|
QMetaObject::invokeMethod(w, "onLogoutSure", Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -160,25 +159,25 @@ void logOutDelayed() {
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
|
|
||||||
void showMediaPreview(DocumentData *document) {
|
void showMediaPreview(DocumentData *document) {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
w->ui_showMediaPreview(document);
|
w->ui_showMediaPreview(document);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showMediaPreview(PhotoData *photo) {
|
void showMediaPreview(PhotoData *photo) {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
w->ui_showMediaPreview(photo);
|
w->ui_showMediaPreview(photo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void hideMediaPreview() {
|
void hideMediaPreview() {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
w->ui_hideMediaPreview();
|
w->ui_hideMediaPreview();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void showLayer(LayeredWidget *box, ShowLayerOptions options) {
|
void showLayer(LayeredWidget *box, ShowLayerOptions options) {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
w->ui_showLayer(box, options);
|
w->ui_showLayer(box, options);
|
||||||
} else {
|
} else {
|
||||||
delete box;
|
delete box;
|
||||||
|
@ -186,16 +185,16 @@ void showLayer(LayeredWidget *box, ShowLayerOptions options) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void hideLayer(bool fast) {
|
void hideLayer(bool fast) {
|
||||||
if (Window *w = App::wnd()) w->ui_showLayer(0, ShowLayerOptions(CloseOtherLayers) | (fast ? ForceFastShowLayer : AnimatedShowLayer));
|
if (auto w = App::wnd()) w->ui_showLayer(0, ShowLayerOptions(CloseOtherLayers) | (fast ? ForceFastShowLayer : AnimatedShowLayer));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isLayerShown() {
|
bool isLayerShown() {
|
||||||
if (Window *w = App::wnd()) return w->ui_isLayerShown();
|
if (auto w = App::wnd()) return w->ui_isLayerShown();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isMediaViewShown() {
|
bool isMediaViewShown() {
|
||||||
if (Window *w = App::wnd()) return w->ui_isMediaViewShown();
|
if (auto w = App::wnd()) return w->ui_isMediaViewShown();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,7 +235,7 @@ void showPeerHistoryAsync(const PeerId &peer, MsgId msgId) {
|
||||||
}
|
}
|
||||||
|
|
||||||
PeerData *getPeerForMouseAction() {
|
PeerData *getPeerForMouseAction() {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
return w->ui_getPeerForMouseAction();
|
return w->ui_getPeerForMouseAction();
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -244,7 +243,7 @@ PeerData *getPeerForMouseAction() {
|
||||||
|
|
||||||
bool hideWindowNoQuit() {
|
bool hideWindowNoQuit() {
|
||||||
if (!App::quitting()) {
|
if (!App::quitting()) {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
if (cWorkMode() == dbiwmTrayOnly || cWorkMode() == dbiwmWindowAndTray) {
|
if (cWorkMode() == dbiwmTrayOnly || cWorkMode() == dbiwmWindowAndTray) {
|
||||||
return w->minimizeToTray();
|
return w->minimizeToTray();
|
||||||
} else if (cPlatform() == dbipMac || cPlatform() == dbipMacOld) {
|
} else if (cPlatform() == dbipMac || cPlatform() == dbipMacOld) {
|
||||||
|
|
|
@ -21,18 +21,22 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "history.h"
|
#include "history.h"
|
||||||
|
|
||||||
|
#include "core/click_handler_types.h"
|
||||||
#include "dialogs/dialogs_indexed_list.h"
|
#include "dialogs/dialogs_indexed_list.h"
|
||||||
#include "ui/style.h"
|
#include "ui/style.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "fileuploader.h"
|
#include "fileuploader.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
#include "boxes/addcontactbox.h"
|
#include "boxes/addcontactbox.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
|
#include "window/top_bar_widget.h"
|
||||||
|
#include "playerwidget.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
|
|
@ -2396,17 +2396,8 @@ void initImageLinkManager();
|
||||||
void reinitImageLinkManager();
|
void reinitImageLinkManager();
|
||||||
void deinitImageLinkManager();
|
void deinitImageLinkManager();
|
||||||
|
|
||||||
struct LocationData {
|
struct LocationCoords;
|
||||||
LocationData(const LocationCoords &coords) : coords(coords), loading(false) {
|
struct LocationData;
|
||||||
}
|
|
||||||
|
|
||||||
LocationCoords coords;
|
|
||||||
ImagePtr thumb;
|
|
||||||
bool loading;
|
|
||||||
|
|
||||||
void load();
|
|
||||||
};
|
|
||||||
|
|
||||||
class LocationManager : public QObject {
|
class LocationManager : public QObject {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
This file is part of Telegram Desktop,
|
||||||
|
the official desktop version of Telegram 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.
|
||||||
|
|
||||||
|
In addition, as a special exception, the copyright holders give permission
|
||||||
|
to link the code of portions of this program with the OpenSSL library.
|
||||||
|
|
||||||
|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
enum DragState {
|
||||||
|
DragStateNone = 0x00,
|
||||||
|
DragStateFiles = 0x01,
|
||||||
|
DragStatePhotoFiles = 0x02,
|
||||||
|
DragStateImage = 0x03,
|
||||||
|
};
|
|
@ -30,12 +30,15 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "passcodewidget.h"
|
#include "passcodewidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "fileuploader.h"
|
#include "fileuploader.h"
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
|
#include "window/top_bar_widget.h"
|
||||||
|
#include "playerwidget.h"
|
||||||
|
|
||||||
// flick scroll taken from http://qt-project.org/doc/qt-4.8/demos-embedded-anomaly-src-flickcharm-cpp.html
|
// flick scroll taken from http://qt-project.org/doc/qt-4.8/demos-embedded-anomaly-src-flickcharm-cpp.html
|
||||||
|
|
||||||
|
@ -1489,7 +1492,7 @@ void HistoryInner::updateSize() {
|
||||||
|
|
||||||
void HistoryInner::enterEvent(QEvent *e) {
|
void HistoryInner::enterEvent(QEvent *e) {
|
||||||
dragActionUpdate(QCursor::pos());
|
dragActionUpdate(QCursor::pos());
|
||||||
return QWidget::enterEvent(e);
|
// return QWidget::enterEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryInner::leaveEvent(QEvent *e) {
|
void HistoryInner::leaveEvent(QEvent *e) {
|
||||||
|
@ -1522,6 +1525,7 @@ void HistoryInner::adjustCurrent(int32 y) const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void HistoryInner::adjustCurrent(int32 y, History *history) const {
|
void HistoryInner::adjustCurrent(int32 y, History *history) const {
|
||||||
|
t_assert(!history->isEmpty());
|
||||||
_curHistory = history;
|
_curHistory = history;
|
||||||
if (_curBlock >= history->blocks.size()) {
|
if (_curBlock >= history->blocks.size()) {
|
||||||
_curBlock = history->blocks.size() - 1;
|
_curBlock = history->blocks.size() - 1;
|
||||||
|
@ -5333,10 +5337,10 @@ void HistoryWidget::botCallbackDone(BotCallbackInfo info, const MTPmessages_BotC
|
||||||
if (answerData.has_message()) {
|
if (answerData.has_message()) {
|
||||||
if (answerData.is_alert()) {
|
if (answerData.is_alert()) {
|
||||||
Ui::showLayer(new InformBox(qs(answerData.vmessage)));
|
Ui::showLayer(new InformBox(qs(answerData.vmessage)));
|
||||||
} else {
|
} else if (App::wnd()) {
|
||||||
Ui::Toast::Config toast;
|
Ui::Toast::Config toast;
|
||||||
toast.text = qs(answerData.vmessage);
|
toast.text = qs(answerData.vmessage);
|
||||||
Ui::Toast::Show(toast);
|
Ui::Toast::Show(App::wnd(), toast);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,15 +22,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "localimageloader.h"
|
#include "localimageloader.h"
|
||||||
#include "ui/boxshadow.h"
|
#include "ui/boxshadow.h"
|
||||||
|
|
||||||
#include "dropdown.h"
|
#include "dropdown.h"
|
||||||
|
#include "history/history_common.h"
|
||||||
enum DragState {
|
|
||||||
DragStateNone = 0x00,
|
|
||||||
DragStateFiles = 0x01,
|
|
||||||
DragStatePhotoFiles = 0x02,
|
|
||||||
DragStateImage = 0x03,
|
|
||||||
};
|
|
||||||
|
|
||||||
class HistoryWidget;
|
class HistoryWidget;
|
||||||
class HistoryInner : public TWidget, public AbstractTooltipShower {
|
class HistoryInner : public TWidget, public AbstractTooltipShower {
|
||||||
|
|
|
@ -25,6 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
|
#include "playerwidget.h"
|
||||||
|
|
||||||
namespace InlineBots {
|
namespace InlineBots {
|
||||||
namespace Layout {
|
namespace Layout {
|
||||||
|
|
|
@ -21,6 +21,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "inline_bots/inline_bot_layout_item.h"
|
#include "inline_bots/inline_bot_layout_item.h"
|
||||||
|
|
||||||
|
#include "core/click_handler_types.h"
|
||||||
#include "inline_bots/inline_bot_result.h"
|
#include "inline_bots/inline_bot_result.h"
|
||||||
#include "inline_bots/inline_bot_layout_internal.h"
|
#include "inline_bots/inline_bot_layout_internal.h"
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
|
|
@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "basic_types.h"
|
#include "core/basic_types.h"
|
||||||
#include "structs.h"
|
#include "structs.h"
|
||||||
#include "mtproto/core_types.h"
|
#include "mtproto/core_types.h"
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "basic_types.h"
|
#include "core/basic_types.h"
|
||||||
#include "structs.h"
|
#include "structs.h"
|
||||||
#include "mtproto/core_types.h"
|
#include "mtproto/core_types.h"
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "intro/introsignup.h"
|
#include "intro/introsignup.h"
|
||||||
#include "intro/intropwdcheck.h"
|
#include "intro/intropwdcheck.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "ui/text.h"
|
#include "ui/text.h"
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "layerwidget.h"
|
#include "layerwidget.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -91,12 +91,13 @@ public:
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class LayoutMediaItemBase;
|
|
||||||
class LayoutItemBase : public Composer, public ClickHandlerHost {
|
class LayoutItemBase : public Composer, public ClickHandlerHost {
|
||||||
public:
|
public:
|
||||||
LayoutItemBase() {
|
LayoutItemBase() {
|
||||||
}
|
}
|
||||||
LayoutItemBase &operator=(const LayoutItemBase &) = delete;
|
|
||||||
|
LayoutItemBase(const LayoutItemBase &other) = delete;
|
||||||
|
LayoutItemBase &operator=(const LayoutItemBase &other) = delete;
|
||||||
|
|
||||||
int32 maxWidth() const {
|
int32 maxWidth() const {
|
||||||
return _maxw;
|
return _maxw;
|
||||||
|
@ -142,311 +143,3 @@ protected:
|
||||||
int _minh = 0;
|
int _minh = 0;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class PaintContextOverview : public PaintContextBase {
|
|
||||||
public:
|
|
||||||
PaintContextOverview(uint64 ms, bool selecting) : PaintContextBase(ms, selecting), isAfterDate(false) {
|
|
||||||
}
|
|
||||||
bool isAfterDate;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutOverviewItemBase : public LayoutItemBase {
|
|
||||||
public:
|
|
||||||
|
|
||||||
virtual void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContextOverview *context) const = 0;
|
|
||||||
|
|
||||||
virtual LayoutMediaItemBase *toLayoutMediaItem() {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
virtual const LayoutMediaItemBase *toLayoutMediaItem() const {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual HistoryItem *getItem() const {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
virtual DocumentData *getDocument() const {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
MsgId msgId() const {
|
|
||||||
const HistoryItem *item = getItem();
|
|
||||||
return item ? item->id : 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutMediaItemBase : public LayoutOverviewItemBase {
|
|
||||||
public:
|
|
||||||
LayoutMediaItemBase(HistoryItem *parent) : _parent(parent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
LayoutMediaItemBase *toLayoutMediaItem() override {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
const LayoutMediaItemBase *toLayoutMediaItem() const override {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
HistoryItem *getItem() const override {
|
|
||||||
return _parent;
|
|
||||||
}
|
|
||||||
|
|
||||||
void clickHandlerActiveChanged(const ClickHandlerPtr &p, bool active) override;
|
|
||||||
void clickHandlerPressedChanged(const ClickHandlerPtr &p, bool active) override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
HistoryItem *_parent;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutRadialProgressItem : public LayoutMediaItemBase {
|
|
||||||
public:
|
|
||||||
LayoutRadialProgressItem(HistoryItem *parent) : LayoutMediaItemBase(parent)
|
|
||||||
, _radial(0)
|
|
||||||
, a_iconOver(0, 0)
|
|
||||||
, _a_iconOver(animation(this, &LayoutRadialProgressItem::step_iconOver)) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void clickHandlerActiveChanged(const ClickHandlerPtr &p, bool active) override;
|
|
||||||
void clickHandlerPressedChanged(const ClickHandlerPtr &p, bool active) override;
|
|
||||||
|
|
||||||
~LayoutRadialProgressItem();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
ClickHandlerPtr _openl, _savel, _cancell;
|
|
||||||
void setLinks(ClickHandlerPtr &&openl, ClickHandlerPtr &&savel, ClickHandlerPtr &&cancell);
|
|
||||||
void setDocumentLinks(DocumentData *document) {
|
|
||||||
ClickHandlerPtr save;
|
|
||||||
if (document->voice()) {
|
|
||||||
save.reset(new DocumentOpenClickHandler(document));
|
|
||||||
} else {
|
|
||||||
save.reset(new DocumentSaveClickHandler(document));
|
|
||||||
}
|
|
||||||
setLinks(MakeShared<DocumentOpenClickHandler>(document), std_::move(save), MakeShared<DocumentCancelClickHandler>(document));
|
|
||||||
}
|
|
||||||
|
|
||||||
void step_iconOver(float64 ms, bool timer);
|
|
||||||
void step_radial(uint64 ms, bool timer);
|
|
||||||
|
|
||||||
void ensureRadial() const;
|
|
||||||
void checkRadialFinished();
|
|
||||||
|
|
||||||
bool isRadialAnimation(uint64 ms) const {
|
|
||||||
if (!_radial || !_radial->animating()) return false;
|
|
||||||
|
|
||||||
_radial->step(ms);
|
|
||||||
return _radial && _radial->animating();
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual float64 dataProgress() const = 0;
|
|
||||||
virtual bool dataFinished() const = 0;
|
|
||||||
virtual bool dataLoaded() const = 0;
|
|
||||||
virtual bool iconAnimated() const {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
mutable RadialAnimation *_radial;
|
|
||||||
anim::fvalue a_iconOver;
|
|
||||||
mutable Animation _a_iconOver;
|
|
||||||
|
|
||||||
private:
|
|
||||||
LayoutRadialProgressItem(const LayoutRadialProgressItem &other);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutAbstractFileItem : public LayoutRadialProgressItem {
|
|
||||||
public:
|
|
||||||
LayoutAbstractFileItem(HistoryItem *parent) : LayoutRadialProgressItem(parent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
// >= 0 will contain download / upload string, _statusSize = loaded bytes
|
|
||||||
// < 0 will contain played string, _statusSize = -(seconds + 1) played
|
|
||||||
// 0x7FFFFFF0 will contain status for not yet downloaded file
|
|
||||||
// 0x7FFFFFF1 will contain status for already downloaded file
|
|
||||||
// 0x7FFFFFF2 will contain status for failed to download / upload file
|
|
||||||
mutable int32 _statusSize;
|
|
||||||
mutable QString _statusText;
|
|
||||||
|
|
||||||
// duration = -1 - no duration, duration = -2 - "GIF" duration
|
|
||||||
void setStatusSize(int32 newSize, int32 fullSize, int32 duration, qint64 realDuration) const;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
struct OverviewItemInfo : public BaseComponent<OverviewItemInfo> {
|
|
||||||
int top = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutOverviewDate : public LayoutOverviewItemBase {
|
|
||||||
public:
|
|
||||||
LayoutOverviewDate(const QDate &date, bool month);
|
|
||||||
|
|
||||||
void initDimensions() override;
|
|
||||||
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContextOverview *context) const override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
QDate _date;
|
|
||||||
QString _text;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutOverviewPhoto : public LayoutMediaItemBase {
|
|
||||||
public:
|
|
||||||
LayoutOverviewPhoto(PhotoData *photo, HistoryItem *parent);
|
|
||||||
|
|
||||||
void initDimensions() override;
|
|
||||||
int32 resizeGetHeight(int32 width) override;
|
|
||||||
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContextOverview *context) const override;
|
|
||||||
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
PhotoData *_data;
|
|
||||||
ClickHandlerPtr _link;
|
|
||||||
|
|
||||||
mutable QPixmap _pix;
|
|
||||||
mutable bool _goodLoaded;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutOverviewVideo : public LayoutAbstractFileItem {
|
|
||||||
public:
|
|
||||||
LayoutOverviewVideo(DocumentData *video, HistoryItem *parent);
|
|
||||||
|
|
||||||
void initDimensions() override;
|
|
||||||
int32 resizeGetHeight(int32 width) override;
|
|
||||||
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContextOverview *context) const override;
|
|
||||||
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
float64 dataProgress() const override {
|
|
||||||
return _data->progress();
|
|
||||||
}
|
|
||||||
bool dataFinished() const override {
|
|
||||||
return !_data->loading();
|
|
||||||
}
|
|
||||||
bool dataLoaded() const override {
|
|
||||||
return _data->loaded();
|
|
||||||
}
|
|
||||||
bool iconAnimated() const override {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
DocumentData *_data;
|
|
||||||
|
|
||||||
QString _duration;
|
|
||||||
mutable QPixmap _pix;
|
|
||||||
mutable bool _thumbLoaded;
|
|
||||||
|
|
||||||
void updateStatusText() const;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutOverviewVoice : public LayoutAbstractFileItem {
|
|
||||||
public:
|
|
||||||
LayoutOverviewVoice(DocumentData *voice, HistoryItem *parent);
|
|
||||||
|
|
||||||
void initDimensions() override;
|
|
||||||
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContextOverview *context) const override;
|
|
||||||
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
float64 dataProgress() const override {
|
|
||||||
return _data->progress();
|
|
||||||
}
|
|
||||||
bool dataFinished() const override {
|
|
||||||
return !_data->loading();
|
|
||||||
}
|
|
||||||
bool dataLoaded() const override {
|
|
||||||
return _data->loaded();
|
|
||||||
}
|
|
||||||
bool iconAnimated() const override {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
DocumentData *_data;
|
|
||||||
ClickHandlerPtr _namel;
|
|
||||||
|
|
||||||
mutable Text _name, _details;
|
|
||||||
mutable int32 _nameVersion;
|
|
||||||
|
|
||||||
void updateName() const;
|
|
||||||
bool updateStatusText() const;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutOverviewDocument : public LayoutAbstractFileItem {
|
|
||||||
public:
|
|
||||||
LayoutOverviewDocument(DocumentData *document, HistoryItem *parent);
|
|
||||||
|
|
||||||
void initDimensions() override;
|
|
||||||
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContextOverview *context) const override;
|
|
||||||
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
|
||||||
|
|
||||||
virtual DocumentData *getDocument() const override {
|
|
||||||
return _data;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
float64 dataProgress() const override {
|
|
||||||
return _data->progress();
|
|
||||||
}
|
|
||||||
bool dataFinished() const override {
|
|
||||||
return !_data->loading();
|
|
||||||
}
|
|
||||||
bool dataLoaded() const override {
|
|
||||||
return _data->loaded();
|
|
||||||
}
|
|
||||||
bool iconAnimated() const override {
|
|
||||||
return _data->song() || !_data->loaded() || (_radial && _radial->animating());
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
DocumentData *_data;
|
|
||||||
ClickHandlerPtr _msgl, _namel;
|
|
||||||
|
|
||||||
mutable bool _thumbForLoaded;
|
|
||||||
mutable QPixmap _thumb;
|
|
||||||
|
|
||||||
QString _name, _date, _ext;
|
|
||||||
int32 _namew, _datew, _extw;
|
|
||||||
int32 _thumbw, _colorIndex;
|
|
||||||
|
|
||||||
bool withThumb() const {
|
|
||||||
return !_data->thumb->isNull() && _data->thumb->width() && _data->thumb->height();
|
|
||||||
}
|
|
||||||
bool updateStatusText() const;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LayoutOverviewLink : public LayoutMediaItemBase {
|
|
||||||
public:
|
|
||||||
LayoutOverviewLink(HistoryMedia *media, HistoryItem *parent);
|
|
||||||
|
|
||||||
void initDimensions() override;
|
|
||||||
int32 resizeGetHeight(int32 width) override;
|
|
||||||
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContextOverview *context) const override;
|
|
||||||
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
ClickHandlerPtr _photol;
|
|
||||||
|
|
||||||
QString _title, _letter;
|
|
||||||
int _titlew = 0;
|
|
||||||
WebPageData *_page = nullptr;
|
|
||||||
int _pixw = 0;
|
|
||||||
int _pixh = 0;
|
|
||||||
Text _text = { int(st::msgMinWidth) };
|
|
||||||
|
|
||||||
struct Link {
|
|
||||||
Link() : width(0) {
|
|
||||||
}
|
|
||||||
Link(const QString &url, const QString &text);
|
|
||||||
QString text;
|
|
||||||
int32 width;
|
|
||||||
TextClickHandlerPtr lnk;
|
|
||||||
};
|
|
||||||
QVector<Link> _links;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "boxes/photosendbox.h"
|
#include "boxes/photosendbox.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
|
|
||||||
|
|
|
@ -25,10 +25,11 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "serialize/serialize_document.h"
|
#include "serialize/serialize_document.h"
|
||||||
#include "serialize/serialize_common.h"
|
#include "serialize/serialize_common.h"
|
||||||
|
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
|
#include "playerwidget.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
typedef quint64 FileKey;
|
typedef quint64 FileKey;
|
||||||
|
|
|
@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "basic_types.h"
|
#include "core/basic_types.h"
|
||||||
|
|
||||||
namespace _local_inner {
|
namespace _local_inner {
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -20,15 +20,22 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "apiwrap.h"
|
#include "localimageloader.h"
|
||||||
#include "dialogswidget.h"
|
#include "history/history_common.h"
|
||||||
#include "historywidget.h"
|
|
||||||
#include "profilewidget.h"
|
|
||||||
#include "overviewwidget.h"
|
|
||||||
#include "playerwidget.h"
|
|
||||||
#include "ui/buttons/peer_avatar_button.h"
|
|
||||||
|
|
||||||
class Window;
|
namespace Dialogs {
|
||||||
|
class Row;
|
||||||
|
} // namespace Dialogs
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class PeerAvatarButton;
|
||||||
|
} // namespace Ui
|
||||||
|
|
||||||
|
namespace Window {
|
||||||
|
class TopBarWidget;
|
||||||
|
} // namespace Window
|
||||||
|
|
||||||
|
class MainWindow;
|
||||||
class ApiWrap;
|
class ApiWrap;
|
||||||
class MainWidget;
|
class MainWidget;
|
||||||
class ConfirmBox;
|
class ConfirmBox;
|
||||||
|
@ -37,90 +44,8 @@ class HistoryWidget;
|
||||||
class ProfileWidget;
|
class ProfileWidget;
|
||||||
class OverviewWidget;
|
class OverviewWidget;
|
||||||
class PlayerWidget;
|
class PlayerWidget;
|
||||||
|
class HistoryHider;
|
||||||
namespace Dialogs {
|
class Dropdown;
|
||||||
class Row;
|
|
||||||
} // namespace Dialogs
|
|
||||||
|
|
||||||
class TopBarWidget : public TWidget {
|
|
||||||
Q_OBJECT
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
TopBarWidget(MainWidget *w);
|
|
||||||
|
|
||||||
void enterEvent(QEvent *e) override;
|
|
||||||
void enterFromChildEvent(QEvent *e) override;
|
|
||||||
void leaveEvent(QEvent *e) override;
|
|
||||||
void leaveToChildEvent(QEvent *e) override;
|
|
||||||
void paintEvent(QPaintEvent *e) override;
|
|
||||||
void mousePressEvent(QMouseEvent *e) override;
|
|
||||||
void resizeEvent(QResizeEvent *e) override;
|
|
||||||
|
|
||||||
void step_appearance(float64 ms, bool timer);
|
|
||||||
void enableShadow(bool enable = true);
|
|
||||||
|
|
||||||
void startAnim();
|
|
||||||
void stopAnim();
|
|
||||||
void showAll();
|
|
||||||
void showSelected(uint32 selCount, bool canDelete = false);
|
|
||||||
|
|
||||||
void updateAdaptiveLayout();
|
|
||||||
|
|
||||||
FlatButton *mediaTypeButton();
|
|
||||||
|
|
||||||
void grabStart() override {
|
|
||||||
_sideShadow.hide();
|
|
||||||
}
|
|
||||||
void grabFinish() override {
|
|
||||||
_sideShadow.setVisible(!Adaptive::OneColumn());
|
|
||||||
}
|
|
||||||
|
|
||||||
public slots:
|
|
||||||
|
|
||||||
void onForwardSelection();
|
|
||||||
void onDeleteSelection();
|
|
||||||
void onClearSelection();
|
|
||||||
void onInfoClicked();
|
|
||||||
void onAddContact();
|
|
||||||
void onEdit();
|
|
||||||
void onDeleteContact();
|
|
||||||
void onDeleteContactSure();
|
|
||||||
void onDeleteAndExit();
|
|
||||||
void onDeleteAndExitSure();
|
|
||||||
void onSearch();
|
|
||||||
|
|
||||||
signals:
|
|
||||||
|
|
||||||
void clicked();
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
MainWidget *main();
|
|
||||||
anim::fvalue a_over;
|
|
||||||
Animation _a_appearance;
|
|
||||||
|
|
||||||
PeerData *_selPeer;
|
|
||||||
uint32 _selCount;
|
|
||||||
bool _canDelete;
|
|
||||||
QString _selStr;
|
|
||||||
int32 _selStrLeft, _selStrWidth;
|
|
||||||
|
|
||||||
bool _animating;
|
|
||||||
|
|
||||||
FlatButton _clearSelection;
|
|
||||||
FlatButton _forward, _delete;
|
|
||||||
int32 _selectionButtonsWidth, _forwardDeleteWidth;
|
|
||||||
|
|
||||||
PeerAvatarButton _info;
|
|
||||||
FlatButton _edit, _leaveGroup, _addContact, _deleteContact;
|
|
||||||
FlatButton _mediaType;
|
|
||||||
|
|
||||||
IconedButton _search;
|
|
||||||
|
|
||||||
PlainShadow _sideShadow;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
enum StackItemType {
|
enum StackItemType {
|
||||||
HistoryStackItem,
|
HistoryStackItem,
|
||||||
|
@ -220,7 +145,7 @@ class MainWidget : public TWidget, public RPCSender {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
MainWidget(Window *window);
|
MainWidget(MainWindow *window);
|
||||||
|
|
||||||
void paintEvent(QPaintEvent *e) override;
|
void paintEvent(QPaintEvent *e) override;
|
||||||
void resizeEvent(QResizeEvent *e) override;
|
void resizeEvent(QResizeEvent *e) override;
|
||||||
|
@ -230,7 +155,7 @@ public:
|
||||||
bool needBackButton();
|
bool needBackButton();
|
||||||
|
|
||||||
void paintTopBar(QPainter &p, float64 over, int32 decreaseWidth);
|
void paintTopBar(QPainter &p, float64 over, int32 decreaseWidth);
|
||||||
TopBarWidget *topBar();
|
Window::TopBarWidget *topBar();
|
||||||
|
|
||||||
PlayerWidget *player();
|
PlayerWidget *player();
|
||||||
int contentScrollAddToY() const;
|
int contentScrollAddToY() const;
|
||||||
|
@ -623,14 +548,14 @@ private:
|
||||||
|
|
||||||
int _dialogsWidth = st::dlgMinWidth;
|
int _dialogsWidth = st::dlgMinWidth;
|
||||||
|
|
||||||
DialogsWidget dialogs;
|
ChildWidget<DialogsWidget> _dialogs;
|
||||||
HistoryWidget history;
|
ChildWidget<HistoryWidget> _history;
|
||||||
ProfileWidget* profile = nullptr;
|
ChildWidget<ProfileWidget> _profile = nullptr;
|
||||||
OverviewWidget* overview = nullptr;
|
ChildWidget<OverviewWidget> _overview = nullptr;
|
||||||
PlayerWidget _player;
|
ChildWidget<PlayerWidget> _player;
|
||||||
TopBarWidget _topBar;
|
ChildWidget<Window::TopBarWidget> _topBar;
|
||||||
ConfirmBox *_forwardConfirm = nullptr; // for single column layout
|
ConfirmBox *_forwardConfirm = nullptr; // for single column layout
|
||||||
HistoryHider *_hider = nullptr;
|
ChildWidget<HistoryHider> _hider = nullptr;
|
||||||
StackItems _stack;
|
StackItems _stack;
|
||||||
PeerData *_peerInStack = nullptr;
|
PeerData *_peerInStack = nullptr;
|
||||||
MsgId _msgIdInStack = 0;
|
MsgId _msgIdInStack = 0;
|
||||||
|
@ -638,7 +563,7 @@ private:
|
||||||
int _playerHeight = 0;
|
int _playerHeight = 0;
|
||||||
int _contentScrollAddToY = 0;
|
int _contentScrollAddToY = 0;
|
||||||
|
|
||||||
Dropdown _mediaType;
|
ChildWidget<Dropdown> _mediaType;
|
||||||
int32 _mediaTypeMask = 0;
|
int32 _mediaTypeMask = 0;
|
||||||
|
|
||||||
int32 updDate = 0;
|
int32 updDate = 0;
|
||||||
|
@ -711,8 +636,8 @@ private:
|
||||||
void viewsIncrementDone(QVector<MTPint> ids, const MTPVector<MTPint> &result, mtpRequestId req);
|
void viewsIncrementDone(QVector<MTPint> ids, const MTPVector<MTPint> &result, mtpRequestId req);
|
||||||
bool viewsIncrementFail(const RPCError &error, mtpRequestId req);
|
bool viewsIncrementFail(const RPCError &error, mtpRequestId req);
|
||||||
|
|
||||||
App::WallPaper *_background = nullptr;
|
std_::unique_ptr<App::WallPaper> _background;
|
||||||
|
|
||||||
ApiWrap *_api;
|
std_::unique_ptr<ApiWrap> _api;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include "zip.h"
|
#include "zip.h"
|
||||||
|
|
||||||
|
@ -364,7 +364,7 @@ NotifyWindow::~NotifyWindow() {
|
||||||
if (App::wnd()) App::wnd()->notifyShowNext(this);
|
if (App::wnd()) App::wnd()->notifyShowNext(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
Window::Window(QWidget *parent) : PsMainWindow(parent) {
|
MainWindow::MainWindow(QWidget *parent) : PsMainWindow(parent) {
|
||||||
icon16 = icon256.scaledToWidth(16, Qt::SmoothTransformation);
|
icon16 = icon256.scaledToWidth(16, Qt::SmoothTransformation);
|
||||||
icon32 = icon256.scaledToWidth(32, Qt::SmoothTransformation);
|
icon32 = icon256.scaledToWidth(32, Qt::SmoothTransformation);
|
||||||
icon64 = icon256.scaledToWidth(64, Qt::SmoothTransformation);
|
icon64 = icon256.scaledToWidth(64, Qt::SmoothTransformation);
|
||||||
|
@ -400,7 +400,7 @@ Window::Window(QWidget *parent) : PsMainWindow(parent) {
|
||||||
setAttribute(Qt::WA_OpaquePaintEvent);
|
setAttribute(Qt::WA_OpaquePaintEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::inactivePress(bool inactive) {
|
void MainWindow::inactivePress(bool inactive) {
|
||||||
_inactivePress = inactive;
|
_inactivePress = inactive;
|
||||||
if (_inactivePress) {
|
if (_inactivePress) {
|
||||||
_inactiveTimer.start(200);
|
_inactiveTimer.start(200);
|
||||||
|
@ -409,15 +409,15 @@ void Window::inactivePress(bool inactive) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::inactivePress() const {
|
bool MainWindow::inactivePress() const {
|
||||||
return _inactivePress;
|
return _inactivePress;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::onInactiveTimer() {
|
void MainWindow::onInactiveTimer() {
|
||||||
inactivePress(false);
|
inactivePress(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::stateChanged(Qt::WindowState state) {
|
void MainWindow::stateChanged(Qt::WindowState state) {
|
||||||
psUserActionDone();
|
psUserActionDone();
|
||||||
|
|
||||||
updateIsActive((state == Qt::WindowMinimized) ? Global::OfflineBlurTimeout() : Global::OnlineFocusTimeout());
|
updateIsActive((state == Qt::WindowMinimized) ? Global::OfflineBlurTimeout() : Global::OnlineFocusTimeout());
|
||||||
|
@ -429,7 +429,7 @@ void Window::stateChanged(Qt::WindowState state) {
|
||||||
psSavePosition(state);
|
psSavePosition(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::init() {
|
void MainWindow::init() {
|
||||||
psInitFrameless();
|
psInitFrameless();
|
||||||
setWindowIcon(wndIcon);
|
setWindowIcon(wndIcon);
|
||||||
|
|
||||||
|
@ -446,7 +446,7 @@ void Window::init() {
|
||||||
psInitSize();
|
psInitSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::firstShow() {
|
void MainWindow::firstShow() {
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
trayIconMenu = new PopupMenu();
|
trayIconMenu = new PopupMenu();
|
||||||
trayIconMenu->deleteOnHide(false);
|
trayIconMenu->deleteOnHide(false);
|
||||||
|
@ -472,11 +472,11 @@ void Window::firstShow() {
|
||||||
updateTrayMenu();
|
updateTrayMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
QWidget *Window::filedialogParent() {
|
QWidget *MainWindow::filedialogParent() {
|
||||||
return (_mediaView && _mediaView->isVisible()) ? (QWidget*)_mediaView : (QWidget*)this;
|
return (_mediaView && _mediaView->isVisible()) ? (QWidget*)_mediaView : (QWidget*)this;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::clearWidgets() {
|
void MainWindow::clearWidgets() {
|
||||||
Ui::hideLayer(true);
|
Ui::hideLayer(true);
|
||||||
if (_passcode) {
|
if (_passcode) {
|
||||||
_passcode->hide();
|
_passcode->hide();
|
||||||
|
@ -511,7 +511,7 @@ void Window::clearWidgets() {
|
||||||
updateGlobalMenu();
|
updateGlobalMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
QPixmap Window::grabInner() {
|
QPixmap MainWindow::grabInner() {
|
||||||
QPixmap result;
|
QPixmap result;
|
||||||
if (settings) {
|
if (settings) {
|
||||||
result = myGrab(settings);
|
result = myGrab(settings);
|
||||||
|
@ -525,7 +525,7 @@ QPixmap Window::grabInner() {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::clearPasscode() {
|
void MainWindow::clearPasscode() {
|
||||||
if (!_passcode) return;
|
if (!_passcode) return;
|
||||||
|
|
||||||
QPixmap bg = grabInner();
|
QPixmap bg = grabInner();
|
||||||
|
@ -546,7 +546,7 @@ void Window::clearPasscode() {
|
||||||
updateGlobalMenu();
|
updateGlobalMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::setupPasscode(bool anim) {
|
void MainWindow::setupPasscode(bool anim) {
|
||||||
QPixmap bg = grabInner();
|
QPixmap bg = grabInner();
|
||||||
|
|
||||||
if (_passcode) {
|
if (_passcode) {
|
||||||
|
@ -570,7 +570,7 @@ void Window::setupPasscode(bool anim) {
|
||||||
updateGlobalMenu();
|
updateGlobalMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::checkAutoLockIn(int msec) {
|
void MainWindow::checkAutoLockIn(int msec) {
|
||||||
if (_autoLockTimer.isActive()) {
|
if (_autoLockTimer.isActive()) {
|
||||||
int remain = _autoLockTimer.remainingTime();
|
int remain = _autoLockTimer.remainingTime();
|
||||||
if (remain > 0 && remain <= msec) return;
|
if (remain > 0 && remain <= msec) return;
|
||||||
|
@ -578,7 +578,7 @@ void Window::checkAutoLockIn(int msec) {
|
||||||
_autoLockTimer.start(msec);
|
_autoLockTimer.start(msec);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::checkAutoLock() {
|
void MainWindow::checkAutoLock() {
|
||||||
if (!cHasPasscode() || App::passcoded()) return;
|
if (!cHasPasscode() || App::passcoded()) return;
|
||||||
|
|
||||||
App::app()->checkLocalTime();
|
App::app()->checkLocalTime();
|
||||||
|
@ -591,7 +591,7 @@ void Window::checkAutoLock() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::setupIntro(bool anim) {
|
void MainWindow::setupIntro(bool anim) {
|
||||||
cSetContactsReceived(false);
|
cSetContactsReceived(false);
|
||||||
cSetDialogsReceived(false);
|
cSetDialogsReceived(false);
|
||||||
if (intro && !intro->isHidden() && !main) return;
|
if (intro && !intro->isHidden() && !main) return;
|
||||||
|
@ -616,11 +616,11 @@ void Window::setupIntro(bool anim) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::getNotifySetting(const MTPInputNotifyPeer &peer, uint32 msWait) {
|
void MainWindow::getNotifySetting(const MTPInputNotifyPeer &peer, uint32 msWait) {
|
||||||
MTP::send(MTPaccount_GetNotifySettings(peer), main->rpcDone(&MainWidget::gotNotifySetting, peer), main->rpcFail(&MainWidget::failNotifySetting, peer), 0, msWait);
|
MTP::send(MTPaccount_GetNotifySettings(peer), main->rpcDone(&MainWidget::gotNotifySetting, peer), main->rpcFail(&MainWidget::failNotifySetting, peer), 0, msWait);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::serviceNotification(const QString &msg, const MTPMessageMedia &media, bool force) {
|
void MainWindow::serviceNotification(const QString &msg, const MTPMessageMedia &media, bool force) {
|
||||||
History *h = (main && App::userLoaded(ServiceUserId)) ? App::history(ServiceUserId) : 0;
|
History *h = (main && App::userLoaded(ServiceUserId)) ? App::history(ServiceUserId) : 0;
|
||||||
if (!h || (!force && h->isEmpty())) {
|
if (!h || (!force && h->isEmpty())) {
|
||||||
_delayedServiceMsgs.push_back(DelayedServiceMsg(msg, media));
|
_delayedServiceMsgs.push_back(DelayedServiceMsg(msg, media));
|
||||||
|
@ -630,7 +630,7 @@ void Window::serviceNotification(const QString &msg, const MTPMessageMedia &medi
|
||||||
main->serviceNotification(msg, media);
|
main->serviceNotification(msg, media);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::showDelayedServiceMsgs() {
|
void MainWindow::showDelayedServiceMsgs() {
|
||||||
QVector<DelayedServiceMsg> toAdd = _delayedServiceMsgs;
|
QVector<DelayedServiceMsg> toAdd = _delayedServiceMsgs;
|
||||||
_delayedServiceMsgs.clear();
|
_delayedServiceMsgs.clear();
|
||||||
for (QVector<DelayedServiceMsg>::const_iterator i = toAdd.cbegin(), e = toAdd.cend(); i != e; ++i) {
|
for (QVector<DelayedServiceMsg>::const_iterator i = toAdd.cbegin(), e = toAdd.cend(); i != e; ++i) {
|
||||||
|
@ -638,7 +638,7 @@ void Window::showDelayedServiceMsgs() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::sendServiceHistoryRequest() {
|
void MainWindow::sendServiceHistoryRequest() {
|
||||||
if (!main || !main->started() || _delayedServiceMsgs.isEmpty() || _serviceHistoryRequest) return;
|
if (!main || !main->started() || _delayedServiceMsgs.isEmpty() || _serviceHistoryRequest) return;
|
||||||
|
|
||||||
UserData *user = App::userLoaded(ServiceUserId);
|
UserData *user = App::userLoaded(ServiceUserId);
|
||||||
|
@ -649,7 +649,7 @@ void Window::sendServiceHistoryRequest() {
|
||||||
_serviceHistoryRequest = MTP::send(MTPmessages_GetHistory(user->input, MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(1), MTP_int(0), MTP_int(0)), main->rpcDone(&MainWidget::serviceHistoryDone), main->rpcFail(&MainWidget::serviceHistoryFail));
|
_serviceHistoryRequest = MTP::send(MTPmessages_GetHistory(user->input, MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(1), MTP_int(0), MTP_int(0)), main->rpcDone(&MainWidget::serviceHistoryDone), main->rpcFail(&MainWidget::serviceHistoryFail));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::setupMain(bool anim, const MTPUser *self) {
|
void MainWindow::setupMain(bool anim, const MTPUser *self) {
|
||||||
QPixmap bg = anim ? grabInner() : QPixmap();
|
QPixmap bg = anim ? grabInner() : QPixmap();
|
||||||
clearWidgets();
|
clearWidgets();
|
||||||
main = new MainWidget(this);
|
main = new MainWidget(this);
|
||||||
|
@ -673,14 +673,14 @@ void Window::setupMain(bool anim, const MTPUser *self) {
|
||||||
_mediaView = new MediaView();
|
_mediaView = new MediaView();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::updateCounter() {
|
void MainWindow::updateCounter() {
|
||||||
if (!Global::started() || App::quitting()) return;
|
if (!Global::started() || App::quitting()) return;
|
||||||
|
|
||||||
psUpdateCounter();
|
psUpdateCounter();
|
||||||
title->updateCounter();
|
title->updateCounter();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::showSettings() {
|
void MainWindow::showSettings() {
|
||||||
if (_passcode) return;
|
if (_passcode) return;
|
||||||
|
|
||||||
if (isHidden()) showFromTray();
|
if (isHidden()) showFromTray();
|
||||||
|
@ -705,7 +705,7 @@ void Window::showSettings() {
|
||||||
fixOrder();
|
fixOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::hideSettings(bool fast) {
|
void MainWindow::hideSettings(bool fast) {
|
||||||
if (!settings || _passcode) return;
|
if (!settings || _passcode) return;
|
||||||
|
|
||||||
if (fast) {
|
if (fast) {
|
||||||
|
@ -738,14 +738,14 @@ void Window::hideSettings(bool fast) {
|
||||||
fixOrder();
|
fixOrder();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::mtpStateChanged(int32 dc, int32 state) {
|
void MainWindow::mtpStateChanged(int32 dc, int32 state) {
|
||||||
if (dc == MTP::maindc()) {
|
if (dc == MTP::maindc()) {
|
||||||
updateTitleStatus();
|
updateTitleStatus();
|
||||||
if (settings) settings->updateConnectionType();
|
if (settings) settings->updateConnectionType();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::updateTitleStatus() {
|
void MainWindow::updateTitleStatus() {
|
||||||
int32 state = MTP::dcstate();
|
int32 state = MTP::dcstate();
|
||||||
if (state == MTP::ConnectingState || state == MTP::DisconnectedState || (state < 0 && state > -600)) {
|
if (state == MTP::ConnectingState || state == MTP::DisconnectedState || (state < 0 && state > -600)) {
|
||||||
if (main || getms() > 5000 || _connecting) {
|
if (main || getms() > 5000 || _connecting) {
|
||||||
|
@ -759,48 +759,48 @@ void Window::updateTitleStatus() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IntroWidget *Window::introWidget() {
|
IntroWidget *MainWindow::introWidget() {
|
||||||
return intro;
|
return intro;
|
||||||
}
|
}
|
||||||
|
|
||||||
MainWidget *Window::mainWidget() {
|
MainWidget *MainWindow::mainWidget() {
|
||||||
return main;
|
return main;
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsWidget *Window::settingsWidget() {
|
SettingsWidget *MainWindow::settingsWidget() {
|
||||||
return settings;
|
return settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
PasscodeWidget *Window::passcodeWidget() {
|
PasscodeWidget *MainWindow::passcodeWidget() {
|
||||||
return _passcode;
|
return _passcode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::showPhoto(const PhotoOpenClickHandler *lnk, HistoryItem *item) {
|
void MainWindow::showPhoto(const PhotoOpenClickHandler *lnk, HistoryItem *item) {
|
||||||
return lnk->peer() ? showPhoto(lnk->photo(), lnk->peer()) : showPhoto(lnk->photo(), item);
|
return lnk->peer() ? showPhoto(lnk->photo(), lnk->peer()) : showPhoto(lnk->photo(), item);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::showPhoto(PhotoData *photo, HistoryItem *item) {
|
void MainWindow::showPhoto(PhotoData *photo, HistoryItem *item) {
|
||||||
if (_mediaView->isHidden()) Ui::hideLayer(true);
|
if (_mediaView->isHidden()) Ui::hideLayer(true);
|
||||||
_mediaView->showPhoto(photo, item);
|
_mediaView->showPhoto(photo, item);
|
||||||
_mediaView->activateWindow();
|
_mediaView->activateWindow();
|
||||||
_mediaView->setFocus();
|
_mediaView->setFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::showPhoto(PhotoData *photo, PeerData *peer) {
|
void MainWindow::showPhoto(PhotoData *photo, PeerData *peer) {
|
||||||
if (_mediaView->isHidden()) Ui::hideLayer(true);
|
if (_mediaView->isHidden()) Ui::hideLayer(true);
|
||||||
_mediaView->showPhoto(photo, peer);
|
_mediaView->showPhoto(photo, peer);
|
||||||
_mediaView->activateWindow();
|
_mediaView->activateWindow();
|
||||||
_mediaView->setFocus();
|
_mediaView->setFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::showDocument(DocumentData *doc, HistoryItem *item) {
|
void MainWindow::showDocument(DocumentData *doc, HistoryItem *item) {
|
||||||
if (_mediaView->isHidden()) Ui::hideLayer(true);
|
if (_mediaView->isHidden()) Ui::hideLayer(true);
|
||||||
_mediaView->showDocument(doc, item);
|
_mediaView->showDocument(doc, item);
|
||||||
_mediaView->activateWindow();
|
_mediaView->activateWindow();
|
||||||
_mediaView->setFocus();
|
_mediaView->setFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::ui_showLayer(LayeredWidget *box, ShowLayerOptions options) {
|
void MainWindow::ui_showLayer(LayeredWidget *box, ShowLayerOptions options) {
|
||||||
if (box) {
|
if (box) {
|
||||||
bool fast = (options.testFlag(ForceFastShowLayer)) || Ui::isLayerShown();
|
bool fast = (options.testFlag(ForceFastShowLayer)) || Ui::isLayerShown();
|
||||||
if (layerBg) {
|
if (layerBg) {
|
||||||
|
@ -837,15 +837,15 @@ void Window::ui_showLayer(LayeredWidget *box, ShowLayerOptions options) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::ui_isLayerShown() {
|
bool MainWindow::ui_isLayerShown() {
|
||||||
return !!layerBg;
|
return !!layerBg;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::ui_isMediaViewShown() {
|
bool MainWindow::ui_isMediaViewShown() {
|
||||||
return _mediaView && !_mediaView->isHidden();
|
return _mediaView && !_mediaView->isHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::ui_showMediaPreview(DocumentData *document) {
|
void MainWindow::ui_showMediaPreview(DocumentData *document) {
|
||||||
if (!document || ((!document->isAnimation() || !document->loaded()) && !document->sticker())) return;
|
if (!document || ((!document->isAnimation() || !document->loaded()) && !document->sticker())) return;
|
||||||
if (!_mediaPreview) {
|
if (!_mediaPreview) {
|
||||||
_mediaPreview = std_::make_unique<MediaPreviewWidget>(this);
|
_mediaPreview = std_::make_unique<MediaPreviewWidget>(this);
|
||||||
|
@ -857,7 +857,7 @@ void Window::ui_showMediaPreview(DocumentData *document) {
|
||||||
_mediaPreview->showPreview(document);
|
_mediaPreview->showPreview(document);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::ui_showMediaPreview(PhotoData *photo) {
|
void MainWindow::ui_showMediaPreview(PhotoData *photo) {
|
||||||
if (!photo) return;
|
if (!photo) return;
|
||||||
if (!_mediaPreview) {
|
if (!_mediaPreview) {
|
||||||
_mediaPreview = std_::make_unique<MediaPreviewWidget>(this);
|
_mediaPreview = std_::make_unique<MediaPreviewWidget>(this);
|
||||||
|
@ -869,12 +869,12 @@ void Window::ui_showMediaPreview(PhotoData *photo) {
|
||||||
_mediaPreview->showPreview(photo);
|
_mediaPreview->showPreview(photo);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::ui_hideMediaPreview() {
|
void MainWindow::ui_hideMediaPreview() {
|
||||||
if (!_mediaPreview) return;
|
if (!_mediaPreview) return;
|
||||||
_mediaPreview->hidePreview();
|
_mediaPreview->hidePreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
PeerData *Window::ui_getPeerForMouseAction() {
|
PeerData *MainWindow::ui_getPeerForMouseAction() {
|
||||||
if (_mediaView && !_mediaView->isHidden()) {
|
if (_mediaView && !_mediaView->isHidden()) {
|
||||||
return _mediaView->ui_getPeerForMouseAction();
|
return _mediaView->ui_getPeerForMouseAction();
|
||||||
} else if (main) {
|
} else if (main) {
|
||||||
|
@ -883,7 +883,7 @@ PeerData *Window::ui_getPeerForMouseAction() {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::showConnecting(const QString &text, const QString &reconnect) {
|
void MainWindow::showConnecting(const QString &text, const QString &reconnect) {
|
||||||
if (_connecting) {
|
if (_connecting) {
|
||||||
_connecting->set(text, reconnect);
|
_connecting->set(text, reconnect);
|
||||||
} else {
|
} else {
|
||||||
|
@ -895,11 +895,11 @@ void Window::showConnecting(const QString &text, const QString &reconnect) {
|
||||||
if (settings) settings->update();
|
if (settings) settings->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::connectingVisible() const {
|
bool MainWindow::connectingVisible() const {
|
||||||
return _connecting && !_connecting->isHidden();
|
return _connecting && !_connecting->isHidden();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::hideConnecting() {
|
void MainWindow::hideConnecting() {
|
||||||
if (_connecting) {
|
if (_connecting) {
|
||||||
_connecting->deleteLater();
|
_connecting->deleteLater();
|
||||||
_connecting = 0;
|
_connecting = 0;
|
||||||
|
@ -907,18 +907,18 @@ void Window::hideConnecting() {
|
||||||
if (settings) settings->update();
|
if (settings) settings->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::historyIsActive() const {
|
bool MainWindow::historyIsActive() const {
|
||||||
return isActive(false) && main && main->historyIsActive() && (!settings || !settings->isVisible());
|
return isActive(false) && main && main->historyIsActive() && (!settings || !settings->isVisible());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::checkHistoryActivation() {
|
void MainWindow::checkHistoryActivation() {
|
||||||
if (main && MTP::authedId() && historyIsActive()) {
|
if (main && MTP::authedId() && historyIsActive()) {
|
||||||
main->historyWasRead();
|
main->historyWasRead();
|
||||||
}
|
}
|
||||||
QTimer::singleShot(1, this, SLOT(updateTrayMenu()));
|
QTimer::singleShot(1, this, SLOT(updateTrayMenu()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::layerHidden() {
|
void MainWindow::layerHidden() {
|
||||||
if (layerBg) {
|
if (layerBg) {
|
||||||
layerBg->hide();
|
layerBg->hide();
|
||||||
layerBg->deleteLater();
|
layerBg->deleteLater();
|
||||||
|
@ -928,7 +928,7 @@ void Window::layerHidden() {
|
||||||
setInnerFocus();
|
setInnerFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::hideMediaview() {
|
void MainWindow::hideMediaview() {
|
||||||
if (_mediaView && !_mediaView->isHidden()) {
|
if (_mediaView && !_mediaView->isHidden()) {
|
||||||
_mediaView->hide();
|
_mediaView->hide();
|
||||||
#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64
|
#if defined Q_OS_LINUX32 || defined Q_OS_LINUX64
|
||||||
|
@ -939,13 +939,13 @@ void Window::hideMediaview() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::contentOverlapped(const QRect &globalRect) {
|
bool MainWindow::contentOverlapped(const QRect &globalRect) {
|
||||||
if (main && main->contentOverlapped(globalRect)) return true;
|
if (main && main->contentOverlapped(globalRect)) return true;
|
||||||
if (layerBg && layerBg->contentOverlapped(globalRect)) return true;
|
if (layerBg && layerBg->contentOverlapped(globalRect)) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::setInnerFocus() {
|
void MainWindow::setInnerFocus() {
|
||||||
if (layerBg && layerBg->canSetFocus()) {
|
if (layerBg && layerBg->canSetFocus()) {
|
||||||
layerBg->setInnerFocus();
|
layerBg->setInnerFocus();
|
||||||
} else if (_passcode) {
|
} else if (_passcode) {
|
||||||
|
@ -957,11 +957,11 @@ void Window::setInnerFocus() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QRect Window::clientRect() const {
|
QRect MainWindow::clientRect() const {
|
||||||
return QRect(0, st::titleHeight, width(), height() - st::titleHeight);
|
return QRect(0, st::titleHeight, width(), height() - st::titleHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
QRect Window::photoRect() const {
|
QRect MainWindow::photoRect() const {
|
||||||
if (settings) {
|
if (settings) {
|
||||||
return settings->geometry();
|
return settings->geometry();
|
||||||
} else if (main) {
|
} else if (main) {
|
||||||
|
@ -973,15 +973,15 @@ QRect Window::photoRect() const {
|
||||||
return QRect(0, 0, 0, 0);
|
return QRect(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::wStartDrag(QMouseEvent *e) {
|
void MainWindow::wStartDrag(QMouseEvent *e) {
|
||||||
dragStart = e->globalPos() - frameGeometry().topLeft();
|
dragStart = e->globalPos() - frameGeometry().topLeft();
|
||||||
dragging = true;
|
dragging = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::paintEvent(QPaintEvent *e) {
|
void MainWindow::paintEvent(QPaintEvent *e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
HitTestType Window::hitTest(const QPoint &p) const {
|
HitTestType MainWindow::hitTest(const QPoint &p) const {
|
||||||
int x(p.x()), y(p.y()), w(width()), h(height());
|
int x(p.x()), y(p.y()), w(width()), h(height());
|
||||||
|
|
||||||
const int32 raw = psResizeRowWidth();
|
const int32 raw = psResizeRowWidth();
|
||||||
|
@ -1015,11 +1015,11 @@ HitTestType Window::hitTest(const QPoint &p) const {
|
||||||
return HitTestNone;
|
return HitTestNone;
|
||||||
}
|
}
|
||||||
|
|
||||||
QRect Window::iconRect() const {
|
QRect MainWindow::iconRect() const {
|
||||||
return QRect(st::titleIconPos + title->geometry().topLeft(), st::titleIconImg.pxSize());
|
return QRect(st::titleIconPos + title->geometry().topLeft(), st::titleIconImg.pxSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::eventFilter(QObject *obj, QEvent *e) {
|
bool MainWindow::eventFilter(QObject *obj, QEvent *e) {
|
||||||
switch (e->type()) {
|
switch (e->type()) {
|
||||||
case QEvent::MouseButtonPress:
|
case QEvent::MouseButtonPress:
|
||||||
case QEvent::KeyPress:
|
case QEvent::KeyPress:
|
||||||
|
@ -1088,7 +1088,7 @@ bool Window::eventFilter(QObject *obj, QEvent *e) {
|
||||||
return PsMainWindow::eventFilter(obj, e);
|
return PsMainWindow::eventFilter(obj, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::mouseMoveEvent(QMouseEvent *e) {
|
void MainWindow::mouseMoveEvent(QMouseEvent *e) {
|
||||||
if (e->buttons() & Qt::LeftButton) {
|
if (e->buttons() & Qt::LeftButton) {
|
||||||
if (dragging) {
|
if (dragging) {
|
||||||
if (windowState().testFlag(Qt::WindowMaximized)) {
|
if (windowState().testFlag(Qt::WindowMaximized)) {
|
||||||
|
@ -1104,11 +1104,11 @@ void Window::mouseMoveEvent(QMouseEvent *e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::mouseReleaseEvent(QMouseEvent *e) {
|
void MainWindow::mouseReleaseEvent(QMouseEvent *e) {
|
||||||
dragging = false;
|
dragging = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::minimizeToTray() {
|
bool MainWindow::minimizeToTray() {
|
||||||
if (App::quitting() || !psHasTrayIcon()) return false;
|
if (App::quitting() || !psHasTrayIcon()) return false;
|
||||||
|
|
||||||
hide();
|
hide();
|
||||||
|
@ -1123,7 +1123,7 @@ bool Window::minimizeToTray() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::updateTrayMenu(bool force) {
|
void MainWindow::updateTrayMenu(bool force) {
|
||||||
if (!trayIconMenu || (cPlatform() == dbipWindows && !force)) return;
|
if (!trayIconMenu || (cPlatform() == dbipWindows && !force)) return;
|
||||||
|
|
||||||
bool active = isActive(false);
|
bool active = isActive(false);
|
||||||
|
@ -1153,25 +1153,25 @@ void Window::updateTrayMenu(bool force) {
|
||||||
psTrayMenuUpdated();
|
psTrayMenuUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::onShowAddContact() {
|
void MainWindow::onShowAddContact() {
|
||||||
if (isHidden()) showFromTray();
|
if (isHidden()) showFromTray();
|
||||||
|
|
||||||
if (main) main->showAddContact();
|
if (main) main->showAddContact();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::onShowNewGroup() {
|
void MainWindow::onShowNewGroup() {
|
||||||
if (isHidden()) showFromTray();
|
if (isHidden()) showFromTray();
|
||||||
|
|
||||||
if (main) Ui::showLayer(new GroupInfoBox(CreatingGroupGroup, false), KeepOtherLayers);
|
if (main) Ui::showLayer(new GroupInfoBox(CreatingGroupGroup, false), KeepOtherLayers);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::onShowNewChannel() {
|
void MainWindow::onShowNewChannel() {
|
||||||
if (isHidden()) showFromTray();
|
if (isHidden()) showFromTray();
|
||||||
|
|
||||||
if (main) Ui::showLayer(new GroupInfoBox(CreatingGroupChannel, false), KeepOtherLayers);
|
if (main) Ui::showLayer(new GroupInfoBox(CreatingGroupChannel, false), KeepOtherLayers);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::onLogout() {
|
void MainWindow::onLogout() {
|
||||||
if (isHidden()) showFromTray();
|
if (isHidden()) showFromTray();
|
||||||
|
|
||||||
ConfirmBox *box = new ConfirmBox(lang(lng_sure_logout), lang(lng_settings_logout), st::attentionBoxButton);
|
ConfirmBox *box = new ConfirmBox(lang(lng_sure_logout), lang(lng_settings_logout), st::attentionBoxButton);
|
||||||
|
@ -1179,7 +1179,7 @@ void Window::onLogout() {
|
||||||
Ui::showLayer(box);
|
Ui::showLayer(box);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::onLogoutSure() {
|
void MainWindow::onLogoutSure() {
|
||||||
if (MTP::authedId()) {
|
if (MTP::authedId()) {
|
||||||
App::logOut();
|
App::logOut();
|
||||||
} else {
|
} else {
|
||||||
|
@ -1187,17 +1187,17 @@ void Window::onLogoutSure() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::updateGlobalMenu() {
|
void MainWindow::updateGlobalMenu() {
|
||||||
#ifdef Q_OS_MAC
|
#ifdef Q_OS_MAC
|
||||||
psMacUpdateMenu();
|
psMacUpdateMenu();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::quitFromTray() {
|
void MainWindow::quitFromTray() {
|
||||||
App::quit();
|
App::quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::activate() {
|
void MainWindow::activate() {
|
||||||
bool wasHidden = !isVisible();
|
bool wasHidden = !isVisible();
|
||||||
setWindowState(windowState() & ~Qt::WindowMinimized);
|
setWindowState(windowState() & ~Qt::WindowMinimized);
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
|
@ -1211,45 +1211,45 @@ void Window::activate() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::noIntro(IntroWidget *was) {
|
void MainWindow::noIntro(IntroWidget *was) {
|
||||||
if (was == intro) {
|
if (was == intro) {
|
||||||
intro = 0;
|
intro = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::noSettings(SettingsWidget *was) {
|
void MainWindow::noSettings(SettingsWidget *was) {
|
||||||
if (was == settings) {
|
if (was == settings) {
|
||||||
settings = 0;
|
settings = 0;
|
||||||
}
|
}
|
||||||
checkHistoryActivation();
|
checkHistoryActivation();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::noMain(MainWidget *was) {
|
void MainWindow::noMain(MainWidget *was) {
|
||||||
if (was == main) {
|
if (was == main) {
|
||||||
main = 0;
|
main = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::noBox(BackgroundWidget *was) {
|
void MainWindow::noBox(BackgroundWidget *was) {
|
||||||
if (was == layerBg) {
|
if (was == layerBg) {
|
||||||
layerBg = 0;
|
layerBg = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::layerFinishedHide(BackgroundWidget *was) {
|
void MainWindow::layerFinishedHide(BackgroundWidget *was) {
|
||||||
if (was == layerBg) {
|
if (was == layerBg) {
|
||||||
QTimer::singleShot(0, this, SLOT(layerHidden()));
|
QTimer::singleShot(0, this, SLOT(layerHidden()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::fixOrder() {
|
void MainWindow::fixOrder() {
|
||||||
title->raise();
|
title->raise();
|
||||||
if (layerBg) layerBg->raise();
|
if (layerBg) layerBg->raise();
|
||||||
if (_mediaPreview) _mediaPreview->raise();
|
if (_mediaPreview) _mediaPreview->raise();
|
||||||
if (_connecting) _connecting->raise();
|
if (_connecting) _connecting->raise();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::showFromTray(QSystemTrayIcon::ActivationReason reason) {
|
void MainWindow::showFromTray(QSystemTrayIcon::ActivationReason reason) {
|
||||||
if (reason != QSystemTrayIcon::Context) {
|
if (reason != QSystemTrayIcon::Context) {
|
||||||
QTimer::singleShot(1, this, SLOT(updateTrayMenu()));
|
QTimer::singleShot(1, this, SLOT(updateTrayMenu()));
|
||||||
QTimer::singleShot(1, this, SLOT(updateGlobalMenu()));
|
QTimer::singleShot(1, this, SLOT(updateGlobalMenu()));
|
||||||
|
@ -1258,7 +1258,7 @@ void Window::showFromTray(QSystemTrayIcon::ActivationReason reason) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::toggleTray(QSystemTrayIcon::ActivationReason reason) {
|
void MainWindow::toggleTray(QSystemTrayIcon::ActivationReason reason) {
|
||||||
if ((cPlatform() == dbipMac || cPlatform() == dbipMacOld) && isActive(false)) return;
|
if ((cPlatform() == dbipMac || cPlatform() == dbipMacOld) && isActive(false)) return;
|
||||||
if (reason == QSystemTrayIcon::Context) {
|
if (reason == QSystemTrayIcon::Context) {
|
||||||
updateTrayMenu(true);
|
updateTrayMenu(true);
|
||||||
|
@ -1272,7 +1272,7 @@ void Window::toggleTray(QSystemTrayIcon::ActivationReason reason) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::toggleDisplayNotifyFromTray() {
|
void MainWindow::toggleDisplayNotifyFromTray() {
|
||||||
if (App::passcoded()) {
|
if (App::passcoded()) {
|
||||||
if (!isActive()) showFromTray();
|
if (!isActive()) showFromTray();
|
||||||
Ui::showLayer(new InformBox(lang(lng_passcode_need_unblock)));
|
Ui::showLayer(new InformBox(lang(lng_passcode_need_unblock)));
|
||||||
|
@ -1290,7 +1290,7 @@ void Window::toggleDisplayNotifyFromTray() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::closeEvent(QCloseEvent *e) {
|
void MainWindow::closeEvent(QCloseEvent *e) {
|
||||||
if (MTP::authedId() && !Sandbox::isSavingSession() && Ui::hideWindowNoQuit()) {
|
if (MTP::authedId() && !Sandbox::isSavingSession() && Ui::hideWindowNoQuit()) {
|
||||||
e->ignore();
|
e->ignore();
|
||||||
} else {
|
} else {
|
||||||
|
@ -1298,11 +1298,11 @@ void Window::closeEvent(QCloseEvent *e) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TitleWidget *Window::getTitle() {
|
TitleWidget *MainWindow::getTitle() {
|
||||||
return title;
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::resizeEvent(QResizeEvent *e) {
|
void MainWindow::resizeEvent(QResizeEvent *e) {
|
||||||
if (!title) return;
|
if (!title) return;
|
||||||
|
|
||||||
Adaptive::Layout layout = Adaptive::OneColumnLayout;
|
Adaptive::Layout layout = Adaptive::OneColumnLayout;
|
||||||
|
@ -1322,7 +1322,7 @@ void Window::resizeEvent(QResizeEvent *e) {
|
||||||
emit resized(QSize(width(), height() - st::titleHeight));
|
emit resized(QSize(width(), height() - st::titleHeight));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::updateAdaptiveLayout() {
|
void MainWindow::updateAdaptiveLayout() {
|
||||||
title->updateAdaptiveLayout();
|
title->updateAdaptiveLayout();
|
||||||
if (main) main->updateAdaptiveLayout();
|
if (main) main->updateAdaptiveLayout();
|
||||||
if (settings) settings->updateAdaptiveLayout();
|
if (settings) settings->updateAdaptiveLayout();
|
||||||
|
@ -1330,25 +1330,25 @@ void Window::updateAdaptiveLayout() {
|
||||||
if (layerBg) layerBg->updateAdaptiveLayout();
|
if (layerBg) layerBg->updateAdaptiveLayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::needBackButton() {
|
bool MainWindow::needBackButton() {
|
||||||
return !!settings;
|
return !!settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
Window::TempDirState Window::tempDirState() {
|
MainWindow::TempDirState MainWindow::tempDirState() {
|
||||||
if (_clearManager && _clearManager->hasTask(Local::ClearManagerDownloads)) {
|
if (_clearManager && _clearManager->hasTask(Local::ClearManagerDownloads)) {
|
||||||
return TempDirRemoving;
|
return TempDirRemoving;
|
||||||
}
|
}
|
||||||
return QDir(cTempDir()).exists() ? TempDirExists : TempDirEmpty;
|
return QDir(cTempDir()).exists() ? TempDirExists : TempDirEmpty;
|
||||||
}
|
}
|
||||||
|
|
||||||
Window::TempDirState Window::localStorageState() {
|
MainWindow::TempDirState MainWindow::localStorageState() {
|
||||||
if (_clearManager && _clearManager->hasTask(Local::ClearManagerStorage)) {
|
if (_clearManager && _clearManager->hasTask(Local::ClearManagerStorage)) {
|
||||||
return TempDirRemoving;
|
return TempDirRemoving;
|
||||||
}
|
}
|
||||||
return (Local::hasImages() || Local::hasStickers() || Local::hasWebFiles() || Local::hasAudios()) ? TempDirExists : TempDirEmpty;
|
return (Local::hasImages() || Local::hasStickers() || Local::hasWebFiles() || Local::hasAudios()) ? TempDirExists : TempDirEmpty;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::tempDirDelete(int task) {
|
void MainWindow::tempDirDelete(int task) {
|
||||||
if (_clearManager) {
|
if (_clearManager) {
|
||||||
if (_clearManager->addTask(task)) {
|
if (_clearManager->addTask(task)) {
|
||||||
return;
|
return;
|
||||||
|
@ -1364,7 +1364,7 @@ void Window::tempDirDelete(int task) {
|
||||||
_clearManager->start();
|
_clearManager->start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::onClearFinished(int task, void *manager) {
|
void MainWindow::onClearFinished(int task, void *manager) {
|
||||||
if (manager && manager == _clearManager) {
|
if (manager && manager == _clearManager) {
|
||||||
_clearManager->deleteLater();
|
_clearManager->deleteLater();
|
||||||
_clearManager = 0;
|
_clearManager = 0;
|
||||||
|
@ -1372,7 +1372,7 @@ void Window::onClearFinished(int task, void *manager) {
|
||||||
emit tempDirCleared(task);
|
emit tempDirCleared(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::onClearFailed(int task, void *manager) {
|
void MainWindow::onClearFailed(int task, void *manager) {
|
||||||
if (manager && manager == _clearManager) {
|
if (manager && manager == _clearManager) {
|
||||||
_clearManager->deleteLater();
|
_clearManager->deleteLater();
|
||||||
_clearManager = 0;
|
_clearManager = 0;
|
||||||
|
@ -1380,7 +1380,7 @@ void Window::onClearFailed(int task, void *manager) {
|
||||||
emit tempDirClearFailed(task);
|
emit tempDirClearFailed(task);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifySchedule(History *history, HistoryItem *item) {
|
void MainWindow::notifySchedule(History *history, HistoryItem *item) {
|
||||||
if (App::quitting() || !history->currentNotification() || !main) return;
|
if (App::quitting() || !history->currentNotification() || !main) return;
|
||||||
|
|
||||||
PeerData *notifyByFrom = (!history->peer->isUser() && item->mentionsMe()) ? item->from() : 0;
|
PeerData *notifyByFrom = (!history->peer->isUser() && item->mentionsMe()) ? item->from() : 0;
|
||||||
|
@ -1451,11 +1451,11 @@ void Window::notifySchedule(History *history, HistoryItem *item) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyFire() {
|
void MainWindow::notifyFire() {
|
||||||
notifyShowNext();
|
notifyShowNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyClear(History *history) {
|
void MainWindow::notifyClear(History *history) {
|
||||||
if (!history) {
|
if (!history) {
|
||||||
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
||||||
(*i)->unlinkHistory();
|
(*i)->unlinkHistory();
|
||||||
|
@ -1480,7 +1480,7 @@ void Window::notifyClear(History *history) {
|
||||||
notifyShowNext();
|
notifyShowNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyClearFast() {
|
void MainWindow::notifyClearFast() {
|
||||||
notifyWaiters.clear();
|
notifyWaiters.clear();
|
||||||
notifySettingWaiters.clear();
|
notifySettingWaiters.clear();
|
||||||
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
||||||
|
@ -1492,7 +1492,7 @@ void Window::notifyClearFast() {
|
||||||
notifyWhenAlerts.clear();
|
notifyWhenAlerts.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifySettingGot() {
|
void MainWindow::notifySettingGot() {
|
||||||
int32 t = unixtime();
|
int32 t = unixtime();
|
||||||
for (NotifyWaiters::iterator i = notifySettingWaiters.begin(); i != notifySettingWaiters.end();) {
|
for (NotifyWaiters::iterator i = notifySettingWaiters.begin(); i != notifySettingWaiters.end();) {
|
||||||
History *history = i.key();
|
History *history = i.key();
|
||||||
|
@ -1534,7 +1534,7 @@ void Window::notifySettingGot() {
|
||||||
notifyShowNext();
|
notifyShowNext();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyShowNext(NotifyWindow *remove) {
|
void MainWindow::notifyShowNext(NotifyWindow *remove) {
|
||||||
if (App::quitting()) return;
|
if (App::quitting()) return;
|
||||||
|
|
||||||
int32 count = NotifyWindowsCount;
|
int32 count = NotifyWindowsCount;
|
||||||
|
@ -1711,7 +1711,7 @@ void Window::notifyShowNext(NotifyWindow *remove) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyItemRemoved(HistoryItem *item) {
|
void MainWindow::notifyItemRemoved(HistoryItem *item) {
|
||||||
if (cCustomNotifies()) {
|
if (cCustomNotifies()) {
|
||||||
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
||||||
(*i)->itemRemoved(item);
|
(*i)->itemRemoved(item);
|
||||||
|
@ -1719,7 +1719,7 @@ void Window::notifyItemRemoved(HistoryItem *item) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyStopHiding() {
|
void MainWindow::notifyStopHiding() {
|
||||||
if (cCustomNotifies()) {
|
if (cCustomNotifies()) {
|
||||||
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
||||||
(*i)->stopHiding();
|
(*i)->stopHiding();
|
||||||
|
@ -1727,7 +1727,7 @@ void Window::notifyStopHiding() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyStartHiding() {
|
void MainWindow::notifyStartHiding() {
|
||||||
if (cCustomNotifies()) {
|
if (cCustomNotifies()) {
|
||||||
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
||||||
(*i)->startHiding();
|
(*i)->startHiding();
|
||||||
|
@ -1735,7 +1735,7 @@ void Window::notifyStartHiding() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyUpdateAllPhotos() {
|
void MainWindow::notifyUpdateAllPhotos() {
|
||||||
if (cCustomNotifies()) {
|
if (cCustomNotifies()) {
|
||||||
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
||||||
(*i)->updatePeerPhoto();
|
(*i)->updatePeerPhoto();
|
||||||
|
@ -1744,11 +1744,11 @@ void Window::notifyUpdateAllPhotos() {
|
||||||
if (_mediaView && !_mediaView->isHidden()) _mediaView->updateControls();
|
if (_mediaView && !_mediaView->isHidden()) _mediaView->updateControls();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::app_activateClickHandler(ClickHandlerPtr handler, Qt::MouseButton button) {
|
void MainWindow::app_activateClickHandler(ClickHandlerPtr handler, Qt::MouseButton button) {
|
||||||
handler->onClick(button);
|
handler->onClick(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyUpdateAll() {
|
void MainWindow::notifyUpdateAll() {
|
||||||
if (cCustomNotifies()) {
|
if (cCustomNotifies()) {
|
||||||
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
||||||
(*i)->updateNotifyDisplay();
|
(*i)->updateNotifyDisplay();
|
||||||
|
@ -1757,7 +1757,7 @@ void Window::notifyUpdateAll() {
|
||||||
psClearNotifies();
|
psClearNotifies();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::notifyActivateAll() {
|
void MainWindow::notifyActivateAll() {
|
||||||
if (cCustomNotifies()) {
|
if (cCustomNotifies()) {
|
||||||
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
for (NotifyWindows::const_iterator i = notifyWindows.cbegin(), e = notifyWindows.cend(); i != e; ++i) {
|
||||||
psActivateNotify(*i);
|
psActivateNotify(*i);
|
||||||
|
@ -1765,11 +1765,11 @@ void Window::notifyActivateAll() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QImage Window::iconLarge() const {
|
QImage MainWindow::iconLarge() const {
|
||||||
return iconbig256;
|
return iconbig256;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::placeSmallCounter(QImage &img, int size, int count, style::color bg, const QPoint &shift, style::color color) {
|
void MainWindow::placeSmallCounter(QImage &img, int size, int count, style::color bg, const QPoint &shift, style::color color) {
|
||||||
QPainter p(&img);
|
QPainter p(&img);
|
||||||
|
|
||||||
QString cnt = (count < 100) ? QString("%1").arg(count) : QString("..%1").arg(count % 10, 1, 10, QChar('0'));
|
QString cnt = (count < 100) ? QString("%1").arg(count) : QString("..%1").arg(count % 10, 1, 10, QChar('0'));
|
||||||
|
@ -1807,7 +1807,7 @@ void Window::placeSmallCounter(QImage &img, int size, int count, style::color bg
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QImage Window::iconWithCounter(int size, int count, style::color bg, bool smallIcon) {
|
QImage MainWindow::iconWithCounter(int size, int count, style::color bg, bool smallIcon) {
|
||||||
bool layer = false;
|
bool layer = false;
|
||||||
if (size < 0) {
|
if (size < 0) {
|
||||||
size = -size;
|
size = -size;
|
||||||
|
@ -1874,7 +1874,7 @@ QImage Window::iconWithCounter(int size, int count, style::color bg, bool smallI
|
||||||
return img;
|
return img;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::sendPaths() {
|
void MainWindow::sendPaths() {
|
||||||
if (App::passcoded()) return;
|
if (App::passcoded()) return;
|
||||||
hideMediaview();
|
hideMediaview();
|
||||||
if (settings) {
|
if (settings) {
|
||||||
|
@ -1887,35 +1887,35 @@ void Window::sendPaths() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::mediaOverviewUpdated(PeerData *peer, MediaOverviewType type) {
|
void MainWindow::mediaOverviewUpdated(PeerData *peer, MediaOverviewType type) {
|
||||||
if (main) main->mediaOverviewUpdated(peer, type);
|
if (main) main->mediaOverviewUpdated(peer, type);
|
||||||
if (!_mediaView || _mediaView->isHidden()) return;
|
if (!_mediaView || _mediaView->isHidden()) return;
|
||||||
_mediaView->mediaOverviewUpdated(peer, type);
|
_mediaView->mediaOverviewUpdated(peer, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::documentUpdated(DocumentData *doc) {
|
void MainWindow::documentUpdated(DocumentData *doc) {
|
||||||
if (!_mediaView || _mediaView->isHidden()) return;
|
if (!_mediaView || _mediaView->isHidden()) return;
|
||||||
_mediaView->documentUpdated(doc);
|
_mediaView->documentUpdated(doc);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::changingMsgId(HistoryItem *row, MsgId newId) {
|
void MainWindow::changingMsgId(HistoryItem *row, MsgId newId) {
|
||||||
if (main) main->changingMsgId(row, newId);
|
if (main) main->changingMsgId(row, newId);
|
||||||
if (!_mediaView || _mediaView->isHidden()) return;
|
if (!_mediaView || _mediaView->isHidden()) return;
|
||||||
_mediaView->changingMsgId(row, newId);
|
_mediaView->changingMsgId(row, newId);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Window::isActive(bool cached) const {
|
bool MainWindow::isActive(bool cached) const {
|
||||||
if (cached) return _isActive;
|
if (cached) return _isActive;
|
||||||
return isActiveWindow() && isVisible() && !(windowState() & Qt::WindowMinimized);
|
return isActiveWindow() && isVisible() && !(windowState() & Qt::WindowMinimized);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::updateIsActive(int timeout) {
|
void MainWindow::updateIsActive(int timeout) {
|
||||||
if (timeout) return _isActiveTimer.start(timeout);
|
if (timeout) return _isActiveTimer.start(timeout);
|
||||||
_isActive = isActive(false);
|
_isActive = isActive(false);
|
||||||
if (main) main->updateOnline();
|
if (main) main->updateOnline();
|
||||||
}
|
}
|
||||||
|
|
||||||
Window::~Window() {
|
MainWindow::~MainWindow() {
|
||||||
notifyClearFast();
|
notifyClearFast();
|
||||||
delete _clearManager;
|
delete _clearManager;
|
||||||
delete _connecting;
|
delete _connecting;
|
|
@ -123,12 +123,12 @@ typedef QList<NotifyWindow*> NotifyWindows;
|
||||||
|
|
||||||
class MediaPreviewWidget;
|
class MediaPreviewWidget;
|
||||||
|
|
||||||
class Window : public PsMainWindow {
|
class MainWindow : public PsMainWindow {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Window(QWidget *parent = 0);
|
MainWindow(QWidget *parent = 0);
|
||||||
~Window();
|
~MainWindow();
|
||||||
|
|
||||||
void init();
|
void init();
|
||||||
void firstShow();
|
void firstShow();
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "mediaview.h"
|
#include "mediaview.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "basic_types.h"
|
#include "core/basic_types.h"
|
||||||
|
|
||||||
namespace MTP {
|
namespace MTP {
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "mtproto/file_download.h"
|
#include "mtproto/file_download.h"
|
||||||
|
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,337 @@
|
||||||
|
/*
|
||||||
|
This file is part of Telegram Desktop,
|
||||||
|
the official desktop version of Telegram 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.
|
||||||
|
|
||||||
|
In addition, as a special exception, the copyright holders give permission
|
||||||
|
to link the code of portions of this program with the OpenSSL library.
|
||||||
|
|
||||||
|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "layout.h"
|
||||||
|
#include "core/click_handler_types.h"
|
||||||
|
|
||||||
|
namespace Overview {
|
||||||
|
namespace Layout {
|
||||||
|
|
||||||
|
class PaintContext : public PaintContextBase {
|
||||||
|
public:
|
||||||
|
PaintContext(uint64 ms, bool selecting) : PaintContextBase(ms, selecting), isAfterDate(false) {
|
||||||
|
}
|
||||||
|
bool isAfterDate;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class ItemBase;
|
||||||
|
class AbstractItem : public LayoutItemBase {
|
||||||
|
public:
|
||||||
|
|
||||||
|
virtual void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContext *context) const = 0;
|
||||||
|
|
||||||
|
virtual ItemBase *toMediaItem() {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
virtual const ItemBase *toMediaItem() const {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual HistoryItem *getItem() const {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
virtual DocumentData *getDocument() const {
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
MsgId msgId() const {
|
||||||
|
const HistoryItem *item = getItem();
|
||||||
|
return item ? item->id : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class ItemBase : public AbstractItem {
|
||||||
|
public:
|
||||||
|
ItemBase(HistoryItem *parent) : _parent(parent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
ItemBase *toMediaItem() override {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
const ItemBase *toMediaItem() const override {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
HistoryItem *getItem() const override {
|
||||||
|
return _parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
void clickHandlerActiveChanged(const ClickHandlerPtr &p, bool active) override;
|
||||||
|
void clickHandlerPressedChanged(const ClickHandlerPtr &p, bool active) override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
HistoryItem *_parent;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class RadialProgressItem : public ItemBase {
|
||||||
|
public:
|
||||||
|
RadialProgressItem(HistoryItem *parent) : ItemBase(parent)
|
||||||
|
, _radial(0)
|
||||||
|
, a_iconOver(0, 0)
|
||||||
|
, _a_iconOver(animation(this, &RadialProgressItem::step_iconOver)) {
|
||||||
|
}
|
||||||
|
RadialProgressItem(const RadialProgressItem &other) = delete;
|
||||||
|
|
||||||
|
void clickHandlerActiveChanged(const ClickHandlerPtr &p, bool active) override;
|
||||||
|
void clickHandlerPressedChanged(const ClickHandlerPtr &p, bool active) override;
|
||||||
|
|
||||||
|
~RadialProgressItem();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
ClickHandlerPtr _openl, _savel, _cancell;
|
||||||
|
void setLinks(ClickHandlerPtr &&openl, ClickHandlerPtr &&savel, ClickHandlerPtr &&cancell);
|
||||||
|
void setDocumentLinks(DocumentData *document) {
|
||||||
|
ClickHandlerPtr save;
|
||||||
|
if (document->voice()) {
|
||||||
|
save.reset(new DocumentOpenClickHandler(document));
|
||||||
|
} else {
|
||||||
|
save.reset(new DocumentSaveClickHandler(document));
|
||||||
|
}
|
||||||
|
setLinks(MakeShared<DocumentOpenClickHandler>(document), std_::move(save), MakeShared<DocumentCancelClickHandler>(document));
|
||||||
|
}
|
||||||
|
|
||||||
|
void step_iconOver(float64 ms, bool timer);
|
||||||
|
void step_radial(uint64 ms, bool timer);
|
||||||
|
|
||||||
|
void ensureRadial() const;
|
||||||
|
void checkRadialFinished();
|
||||||
|
|
||||||
|
bool isRadialAnimation(uint64 ms) const {
|
||||||
|
if (!_radial || !_radial->animating()) return false;
|
||||||
|
|
||||||
|
_radial->step(ms);
|
||||||
|
return _radial && _radial->animating();
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual float64 dataProgress() const = 0;
|
||||||
|
virtual bool dataFinished() const = 0;
|
||||||
|
virtual bool dataLoaded() const = 0;
|
||||||
|
virtual bool iconAnimated() const {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
mutable RadialAnimation *_radial;
|
||||||
|
anim::fvalue a_iconOver;
|
||||||
|
mutable Animation _a_iconOver;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class FileBase : public RadialProgressItem {
|
||||||
|
public:
|
||||||
|
FileBase(HistoryItem *parent) : RadialProgressItem(parent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// >= 0 will contain download / upload string, _statusSize = loaded bytes
|
||||||
|
// < 0 will contain played string, _statusSize = -(seconds + 1) played
|
||||||
|
// 0x7FFFFFF0 will contain status for not yet downloaded file
|
||||||
|
// 0x7FFFFFF1 will contain status for already downloaded file
|
||||||
|
// 0x7FFFFFF2 will contain status for failed to download / upload file
|
||||||
|
mutable int32 _statusSize;
|
||||||
|
mutable QString _statusText;
|
||||||
|
|
||||||
|
// duration = -1 - no duration, duration = -2 - "GIF" duration
|
||||||
|
void setStatusSize(int32 newSize, int32 fullSize, int32 duration, qint64 realDuration) const;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Info : public BaseComponent<Info> {
|
||||||
|
int top = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Date : public AbstractItem {
|
||||||
|
public:
|
||||||
|
Date(const QDate &date, bool month);
|
||||||
|
|
||||||
|
void initDimensions() override;
|
||||||
|
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContext *context) const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QDate _date;
|
||||||
|
QString _text;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class Photo : public ItemBase {
|
||||||
|
public:
|
||||||
|
Photo(PhotoData *photo, HistoryItem *parent);
|
||||||
|
|
||||||
|
void initDimensions() override;
|
||||||
|
int32 resizeGetHeight(int32 width) override;
|
||||||
|
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContext *context) const override;
|
||||||
|
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
PhotoData *_data;
|
||||||
|
ClickHandlerPtr _link;
|
||||||
|
|
||||||
|
mutable QPixmap _pix;
|
||||||
|
mutable bool _goodLoaded;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class Video : public FileBase {
|
||||||
|
public:
|
||||||
|
Video(DocumentData *video, HistoryItem *parent);
|
||||||
|
|
||||||
|
void initDimensions() override;
|
||||||
|
int32 resizeGetHeight(int32 width) override;
|
||||||
|
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContext *context) const override;
|
||||||
|
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
float64 dataProgress() const override {
|
||||||
|
return _data->progress();
|
||||||
|
}
|
||||||
|
bool dataFinished() const override {
|
||||||
|
return !_data->loading();
|
||||||
|
}
|
||||||
|
bool dataLoaded() const override {
|
||||||
|
return _data->loaded();
|
||||||
|
}
|
||||||
|
bool iconAnimated() const override {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
DocumentData *_data;
|
||||||
|
|
||||||
|
QString _duration;
|
||||||
|
mutable QPixmap _pix;
|
||||||
|
mutable bool _thumbLoaded;
|
||||||
|
|
||||||
|
void updateStatusText() const;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class Voice : public FileBase {
|
||||||
|
public:
|
||||||
|
Voice(DocumentData *voice, HistoryItem *parent);
|
||||||
|
|
||||||
|
void initDimensions() override;
|
||||||
|
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContext *context) const override;
|
||||||
|
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
float64 dataProgress() const override {
|
||||||
|
return _data->progress();
|
||||||
|
}
|
||||||
|
bool dataFinished() const override {
|
||||||
|
return !_data->loading();
|
||||||
|
}
|
||||||
|
bool dataLoaded() const override {
|
||||||
|
return _data->loaded();
|
||||||
|
}
|
||||||
|
bool iconAnimated() const override {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
DocumentData *_data;
|
||||||
|
ClickHandlerPtr _namel;
|
||||||
|
|
||||||
|
mutable Text _name, _details;
|
||||||
|
mutable int32 _nameVersion;
|
||||||
|
|
||||||
|
void updateName() const;
|
||||||
|
bool updateStatusText() const;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class Document : public FileBase {
|
||||||
|
public:
|
||||||
|
Document(DocumentData *document, HistoryItem *parent);
|
||||||
|
|
||||||
|
void initDimensions() override;
|
||||||
|
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContext *context) const override;
|
||||||
|
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
||||||
|
|
||||||
|
virtual DocumentData *getDocument() const override {
|
||||||
|
return _data;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
float64 dataProgress() const override {
|
||||||
|
return _data->progress();
|
||||||
|
}
|
||||||
|
bool dataFinished() const override {
|
||||||
|
return !_data->loading();
|
||||||
|
}
|
||||||
|
bool dataLoaded() const override {
|
||||||
|
return _data->loaded();
|
||||||
|
}
|
||||||
|
bool iconAnimated() const override {
|
||||||
|
return _data->song() || !_data->loaded() || (_radial && _radial->animating());
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
DocumentData *_data;
|
||||||
|
ClickHandlerPtr _msgl, _namel;
|
||||||
|
|
||||||
|
mutable bool _thumbForLoaded;
|
||||||
|
mutable QPixmap _thumb;
|
||||||
|
|
||||||
|
QString _name, _date, _ext;
|
||||||
|
int32 _namew, _datew, _extw;
|
||||||
|
int32 _thumbw, _colorIndex;
|
||||||
|
|
||||||
|
bool withThumb() const {
|
||||||
|
return !_data->thumb->isNull() && _data->thumb->width() && _data->thumb->height();
|
||||||
|
}
|
||||||
|
bool updateStatusText() const;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class Link : public ItemBase {
|
||||||
|
public:
|
||||||
|
Link(HistoryMedia *media, HistoryItem *parent);
|
||||||
|
|
||||||
|
void initDimensions() override;
|
||||||
|
int32 resizeGetHeight(int32 width) override;
|
||||||
|
void paint(Painter &p, const QRect &clip, uint32 selection, const PaintContext *context) const override;
|
||||||
|
void getState(ClickHandlerPtr &link, HistoryCursorState &cursor, int x, int y) const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
ClickHandlerPtr _photol;
|
||||||
|
|
||||||
|
QString _title, _letter;
|
||||||
|
int _titlew = 0;
|
||||||
|
WebPageData *_page = nullptr;
|
||||||
|
int _pixw = 0;
|
||||||
|
int _pixh = 0;
|
||||||
|
Text _text = { int(st::msgMinWidth) };
|
||||||
|
|
||||||
|
struct LinkEntry {
|
||||||
|
LinkEntry() : width(0) {
|
||||||
|
}
|
||||||
|
LinkEntry(const QString &url, const QString &text);
|
||||||
|
QString text;
|
||||||
|
int32 width;
|
||||||
|
TextClickHandlerPtr lnk;
|
||||||
|
};
|
||||||
|
QVector<LinkEntry> _links;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Layout
|
||||||
|
} // namespace Overview
|
|
@ -21,7 +21,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "overviewwidget.h"
|
#include "overviewwidget.h"
|
||||||
#include "boxes/addcontactbox.h"
|
#include "boxes/addcontactbox.h"
|
||||||
|
@ -29,6 +29,9 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "boxes/photocropbox.h"
|
#include "boxes/photocropbox.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
|
#include "playerwidget.h"
|
||||||
|
#include "window/top_bar_widget.h"
|
||||||
|
#include "overview/overview_layout.h"
|
||||||
|
|
||||||
// flick scroll taken from http://qt-project.org/doc/qt-4.8/demos-embedded-anomaly-src-flickcharm-cpp.html
|
// flick scroll taken from http://qt-project.org/doc/qt-4.8/demos-embedded-anomaly-src-flickcharm-cpp.html
|
||||||
|
|
||||||
|
@ -333,7 +336,7 @@ void OverviewInner::moveToNextItem(MsgId &msgId, int32 &index, MsgId upTo, int32
|
||||||
}
|
}
|
||||||
|
|
||||||
index += delta;
|
index += delta;
|
||||||
while (index >= 0 && index < _items.size() && !_items.at(index)->toLayoutMediaItem()) {
|
while (index >= 0 && index < _items.size() && !_items.at(index)->toMediaItem()) {
|
||||||
index += (delta > 0) ? 1 : -1;
|
index += (delta > 0) ? 1 : -1;
|
||||||
}
|
}
|
||||||
if (index < 0 || index >= _items.size()) {
|
if (index < 0 || index >= _items.size()) {
|
||||||
|
@ -354,7 +357,7 @@ void OverviewInner::repaintItem(MsgId itemId, int32 itemIndex) {
|
||||||
int32 row = (_photosToAdd + shownAtIndex) / _photosInRow, col = (_photosToAdd + shownAtIndex) % _photosInRow;
|
int32 row = (_photosToAdd + shownAtIndex) / _photosInRow, col = (_photosToAdd + shownAtIndex) % _photosInRow;
|
||||||
update(int32(col * w), _marginTop + int32(row * vsize), qCeil(w), vsize);
|
update(int32(col * w), _marginTop + int32(row * vsize), qCeil(w), vsize);
|
||||||
} else {
|
} else {
|
||||||
int32 top = _items.at(itemIndex)->Get<OverviewItemInfo>()->top;
|
int32 top = _items.at(itemIndex)->Get<Overview::Layout::Info>()->top;
|
||||||
if (_reversed) top = _height - top;
|
if (_reversed) top = _height - top;
|
||||||
update(_rowsLeft, _marginTop + top, _rowWidth, _items.at(itemIndex)->height());
|
update(_rowsLeft, _marginTop + top, _rowWidth, _items.at(itemIndex)->height());
|
||||||
}
|
}
|
||||||
|
@ -698,7 +701,7 @@ QPoint OverviewInner::mapMouseToItem(QPoint p, MsgId itemId, int32 itemIndex) {
|
||||||
p.setX(p.x() - int32(col * w) - st::overviewPhotoSkip);
|
p.setX(p.x() - int32(col * w) - st::overviewPhotoSkip);
|
||||||
p.setY(p.y() - _marginTop - row * (_rowWidth + st::overviewPhotoSkip) - st::overviewPhotoSkip);
|
p.setY(p.y() - _marginTop - row * (_rowWidth + st::overviewPhotoSkip) - st::overviewPhotoSkip);
|
||||||
} else {
|
} else {
|
||||||
int32 top = _items.at(itemIndex)->Get<OverviewItemInfo>()->top;
|
int32 top = _items.at(itemIndex)->Get<Overview::Layout::Info>()->top;
|
||||||
if (_reversed) top = _height - top;
|
if (_reversed) top = _height - top;
|
||||||
p.setY(p.y() - _marginTop - top);
|
p.setY(p.y() - _marginTop - top);
|
||||||
}
|
}
|
||||||
|
@ -734,7 +737,7 @@ int32 OverviewInner::itemTop(const FullMsgId &msgId) const {
|
||||||
int32 itemIndex = -1;
|
int32 itemIndex = -1;
|
||||||
fixItemIndex(itemIndex, (msgId.channel == _channel) ? msgId.msg : ((_migrated && msgId.channel == _migrated->channelId()) ? -msgId.msg : 0));
|
fixItemIndex(itemIndex, (msgId.channel == _channel) ? msgId.msg : ((_migrated && msgId.channel == _migrated->channelId()) ? -msgId.msg : 0));
|
||||||
if (itemIndex >= 0) {
|
if (itemIndex >= 0) {
|
||||||
int32 top = _items.at(itemIndex)->Get<OverviewItemInfo>()->top;
|
int32 top = _items.at(itemIndex)->Get<Overview::Layout::Info>()->top;
|
||||||
if (_reversed) top = _height - top;
|
if (_reversed) top = _height - top;
|
||||||
return _marginTop + top;
|
return _marginTop + top;
|
||||||
}
|
}
|
||||||
|
@ -785,7 +788,7 @@ uint32 OverviewInner::itemSelectedValue(int32 index) const {
|
||||||
selfrom = _dragSelToIndex;
|
selfrom = _dragSelToIndex;
|
||||||
selto = _dragSelFromIndex;
|
selto = _dragSelFromIndex;
|
||||||
}
|
}
|
||||||
if (_items.at(index)->toLayoutMediaItem()) { // draw item
|
if (_items.at(index)->toMediaItem()) { // draw item
|
||||||
if (index >= _dragSelToIndex && index <= _dragSelFromIndex && _dragSelToIndex >= 0) {
|
if (index >= _dragSelToIndex && index <= _dragSelFromIndex && _dragSelToIndex >= 0) {
|
||||||
return (_dragSelecting && _items.at(index)->msgId() > 0) ? FullSelection : 0;
|
return (_dragSelecting && _items.at(index)->msgId() > 0) ? FullSelection : 0;
|
||||||
} else if (!_selected.isEmpty()) {
|
} else if (!_selected.isEmpty()) {
|
||||||
|
@ -809,7 +812,7 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
|
||||||
p.setClipRect(r);
|
p.setClipRect(r);
|
||||||
}
|
}
|
||||||
uint64 ms = getms();
|
uint64 ms = getms();
|
||||||
PaintContextOverview context(ms, _selMode);
|
Overview::Layout::PaintContext context(ms, _selMode);
|
||||||
|
|
||||||
if (_history->overview[_type].isEmpty() && (!_migrated || !_history->overviewLoaded(_type) || _migrated->overview[_type].isEmpty())) {
|
if (_history->overview[_type].isEmpty() && (!_migrated || !_history->overviewLoaded(_type) || _migrated->overview[_type].isEmpty())) {
|
||||||
QPoint dogPos((_width - st::msgDogImg.pxWidth()) / 2, ((height() - st::msgDogImg.pxHeight()) * 4) / 9);
|
QPoint dogPos((_width - st::msgDogImg.pxWidth()) / 2, ((height() - st::msgDogImg.pxHeight()) * 4) / 9);
|
||||||
|
@ -854,15 +857,15 @@ void OverviewInner::paintEvent(QPaintEvent *e) {
|
||||||
int32 y = 0, w = _rowWidth;
|
int32 y = 0, w = _rowWidth;
|
||||||
for (int32 j = 0, l = _items.size(); j < l; ++j) {
|
for (int32 j = 0, l = _items.size(); j < l; ++j) {
|
||||||
int32 i = _reversed ? (l - j - 1) : j, nexti = _reversed ? (i - 1) : (i + 1);
|
int32 i = _reversed ? (l - j - 1) : j, nexti = _reversed ? (i - 1) : (i + 1);
|
||||||
int32 nextItemTop = (j + 1 == l) ? (_reversed ? 0 : _height) : _items.at(nexti)->Get<OverviewItemInfo>()->top;
|
int32 nextItemTop = (j + 1 == l) ? (_reversed ? 0 : _height) : _items.at(nexti)->Get<Overview::Layout::Info>()->top;
|
||||||
if (_reversed) nextItemTop = _height - nextItemTop;
|
if (_reversed) nextItemTop = _height - nextItemTop;
|
||||||
if (_marginTop + nextItemTop > r.top()) {
|
if (_marginTop + nextItemTop > r.top()) {
|
||||||
OverviewItemInfo *info = _items.at(i)->Get<OverviewItemInfo>();
|
auto info = _items.at(i)->Get<Overview::Layout::Info>();
|
||||||
int32 curY = info->top;
|
int32 curY = info->top;
|
||||||
if (_reversed) curY = _height - curY;
|
if (_reversed) curY = _height - curY;
|
||||||
if (_marginTop + curY >= r.y() + r.height()) break;
|
if (_marginTop + curY >= r.y() + r.height()) break;
|
||||||
|
|
||||||
context.isAfterDate = (j > 0) ? !_items.at(j - 1)->toLayoutMediaItem() : false;
|
context.isAfterDate = (j > 0) ? !_items.at(j - 1)->toMediaItem() : false;
|
||||||
p.translate(0, curY - y);
|
p.translate(0, curY - y);
|
||||||
_items.at(i)->paint(p, r.translated(-_rowsLeft, -_marginTop - curY), itemSelectedValue(i), &context);
|
_items.at(i)->paint(p, r.translated(-_rowsLeft, -_marginTop - curY), itemSelectedValue(i), &context);
|
||||||
y = curY;
|
y = curY;
|
||||||
|
@ -908,7 +911,7 @@ void OverviewInner::onUpdateSelected() {
|
||||||
upon = false;
|
upon = false;
|
||||||
}
|
}
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
if (LayoutMediaItemBase *media = _items.at(i)->toLayoutMediaItem()) {
|
if (auto media = _items.at(i)->toMediaItem()) {
|
||||||
item = media->getItem();
|
item = media->getItem();
|
||||||
index = i;
|
index = i;
|
||||||
if (upon) {
|
if (upon) {
|
||||||
|
@ -921,23 +924,23 @@ void OverviewInner::onUpdateSelected() {
|
||||||
for (int32 j = 0, l = _items.size(); j < l; ++j) {
|
for (int32 j = 0, l = _items.size(); j < l; ++j) {
|
||||||
bool lastItem = (j + 1 == l);
|
bool lastItem = (j + 1 == l);
|
||||||
int32 i = _reversed ? (l - j - 1) : j, nexti = _reversed ? (i - 1) : (i + 1);
|
int32 i = _reversed ? (l - j - 1) : j, nexti = _reversed ? (i - 1) : (i + 1);
|
||||||
int32 nextItemTop = lastItem ? (_reversed ? 0 : _height) : _items.at(nexti)->Get<OverviewItemInfo>()->top;
|
int32 nextItemTop = lastItem ? (_reversed ? 0 : _height) : _items.at(nexti)->Get<Overview::Layout::Info>()->top;
|
||||||
if (_reversed) nextItemTop = _height - nextItemTop;
|
if (_reversed) nextItemTop = _height - nextItemTop;
|
||||||
if (_marginTop + nextItemTop > m.y() || lastItem) {
|
if (_marginTop + nextItemTop > m.y() || lastItem) {
|
||||||
int32 top = _items.at(i)->Get<OverviewItemInfo>()->top;
|
int32 top = _items.at(i)->Get<Overview::Layout::Info>()->top;
|
||||||
if (_reversed) top = _height - top;
|
if (_reversed) top = _height - top;
|
||||||
if (!_items.at(i)->toLayoutMediaItem()) { // day item
|
if (!_items.at(i)->toMediaItem()) { // day item
|
||||||
int32 h = _items.at(i)->height();
|
int32 h = _items.at(i)->height();
|
||||||
bool beforeItem = (_marginTop + top + h / 2) >= m.y();
|
bool beforeItem = (_marginTop + top + h / 2) >= m.y();
|
||||||
if (_reversed) beforeItem = !beforeItem;
|
if (_reversed) beforeItem = !beforeItem;
|
||||||
if (i > 0 && (beforeItem || i == _items.size() - 1)) {
|
if (i > 0 && (beforeItem || i == _items.size() - 1)) {
|
||||||
--i;
|
--i;
|
||||||
if (!_items.at(i)->toLayoutMediaItem()) break; // wtf
|
if (!_items.at(i)->toMediaItem()) break; // wtf
|
||||||
top = _items.at(i)->Get<OverviewItemInfo>()->top;
|
top = _items.at(i)->Get<Overview::Layout::Info>()->top;
|
||||||
} else if (i < _items.size() - 1 && (!beforeItem || !i)) {
|
} else if (i < _items.size() - 1 && (!beforeItem || !i)) {
|
||||||
++i;
|
++i;
|
||||||
if (!_items.at(i)->toLayoutMediaItem()) break; // wtf
|
if (!_items.at(i)->toMediaItem()) break; // wtf
|
||||||
top = _items.at(i)->Get<OverviewItemInfo>()->top;
|
top = _items.at(i)->Get<Overview::Layout::Info>()->top;
|
||||||
} else {
|
} else {
|
||||||
break; // wtf
|
break; // wtf
|
||||||
}
|
}
|
||||||
|
@ -945,7 +948,7 @@ void OverviewInner::onUpdateSelected() {
|
||||||
j = _reversed ? (l - i - 1) : i;
|
j = _reversed ? (l - i - 1) : i;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LayoutMediaItemBase *media = _items.at(i)->toLayoutMediaItem()) {
|
if (auto media = _items.at(i)->toMediaItem()) {
|
||||||
item = media->getItem();
|
item = media->getItem();
|
||||||
index = i;
|
index = i;
|
||||||
media->getState(lnk, cursorState, m.x() - _rowsLeft, m.y() - _marginTop - top);
|
media->getState(lnk, cursorState, m.x() - _rowsLeft, m.y() - _marginTop - top);
|
||||||
|
@ -1325,7 +1328,7 @@ int32 OverviewInner::resizeToWidth(int32 nwidth, int32 scrollTop, int32 minHeigh
|
||||||
for (int32 i = 0, l = _items.size(); i < l; ++i) {
|
for (int32 i = 0, l = _items.size(); i < l; ++i) {
|
||||||
int32 h = _items.at(i)->resizeGetHeight(_rowWidth);
|
int32 h = _items.at(i)->resizeGetHeight(_rowWidth);
|
||||||
if (resize) {
|
if (resize) {
|
||||||
_items.at(i)->Get<OverviewItemInfo>()->top = _height + (_reversed ? h : 0);
|
_items.at(i)->Get<Overview::Layout::Info>()->top = _height + (_reversed ? h : 0);
|
||||||
_height += h;
|
_height += h;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1632,7 +1635,7 @@ void OverviewInner::mediaOverviewUpdated() {
|
||||||
allGood = false;
|
allGood = false;
|
||||||
}
|
}
|
||||||
HistoryItem *item = App::histItemById(itemChannel(msgid), itemMsgId(msgid));
|
HistoryItem *item = App::histItemById(itemChannel(msgid), itemMsgId(msgid));
|
||||||
LayoutMediaItemBase *layout = layoutPrepare(item);
|
auto layout = layoutPrepare(item);
|
||||||
if (!layout) continue;
|
if (!layout) continue;
|
||||||
|
|
||||||
setLayoutItem(index, layout, 0);
|
setLayoutItem(index, layout, 0);
|
||||||
|
@ -1658,17 +1661,17 @@ void OverviewInner::mediaOverviewUpdated() {
|
||||||
if (allGood) {
|
if (allGood) {
|
||||||
if (_items.size() > index && complexMsgId(_items.at(index)->getItem()) == msgid) {
|
if (_items.size() > index && complexMsgId(_items.at(index)->getItem()) == msgid) {
|
||||||
if (withDates) prevDate = _items.at(index)->getItem()->date.date();
|
if (withDates) prevDate = _items.at(index)->getItem()->date.date();
|
||||||
top = _items.at(index)->Get<OverviewItemInfo>()->top;
|
top = _items.at(index)->Get<Overview::Layout::Info>()->top;
|
||||||
if (!_reversed) {
|
if (!_reversed) {
|
||||||
top += _items.at(index)->height();
|
top += _items.at(index)->height();
|
||||||
}
|
}
|
||||||
++index;
|
++index;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (_items.size() > index + 1 && !_items.at(index)->toLayoutMediaItem() && complexMsgId(_items.at(index + 1)->getItem()) == msgid) { // day item
|
if (_items.size() > index + 1 && !_items.at(index)->toMediaItem() && complexMsgId(_items.at(index + 1)->getItem()) == msgid) { // day item
|
||||||
++index;
|
++index;
|
||||||
if (withDates) prevDate = _items.at(index)->getItem()->date.date();
|
if (withDates) prevDate = _items.at(index)->getItem()->date.date();
|
||||||
top = _items.at(index)->Get<OverviewItemInfo>()->top;
|
top = _items.at(index)->Get<Overview::Layout::Info>()->top;
|
||||||
if (!_reversed) {
|
if (!_reversed) {
|
||||||
top += _items.at(index)->height();
|
top += _items.at(index)->height();
|
||||||
}
|
}
|
||||||
|
@ -1678,7 +1681,7 @@ void OverviewInner::mediaOverviewUpdated() {
|
||||||
allGood = false;
|
allGood = false;
|
||||||
}
|
}
|
||||||
HistoryItem *item = App::histItemById(itemChannel(msgid), itemMsgId(msgid));
|
HistoryItem *item = App::histItemById(itemChannel(msgid), itemMsgId(msgid));
|
||||||
LayoutMediaItemBase *layout = layoutPrepare(item);
|
auto layout = layoutPrepare(item);
|
||||||
if (!layout) continue;
|
if (!layout) continue;
|
||||||
|
|
||||||
if (withDates) {
|
if (withDates) {
|
||||||
|
@ -1795,7 +1798,7 @@ void OverviewInner::repaintItem(const HistoryItem *msg) {
|
||||||
if (history == _migrated) msgid = -msgid;
|
if (history == _migrated) msgid = -msgid;
|
||||||
for (int32 i = 0, l = _items.size(); i != l; ++i) {
|
for (int32 i = 0, l = _items.size(); i != l; ++i) {
|
||||||
if (complexMsgId(_items.at(i)->getItem()) == msgid) {
|
if (complexMsgId(_items.at(i)->getItem()) == msgid) {
|
||||||
int32 top = _items.at(i)->Get<OverviewItemInfo>()->top;
|
int32 top = _items.at(i)->Get<Overview::Layout::Info>()->top;
|
||||||
if (_reversed) top = _height - top;
|
if (_reversed) top = _height - top;
|
||||||
update(_rowsLeft, _marginTop + top, _rowWidth, _items.at(i)->height());
|
update(_rowsLeft, _marginTop + top, _rowWidth, _items.at(i)->height());
|
||||||
break;
|
break;
|
||||||
|
@ -1840,7 +1843,7 @@ void OverviewInner::recountMargins() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
LayoutMediaItemBase *OverviewInner::layoutPrepare(HistoryItem *item) {
|
Overview::Layout::ItemBase *OverviewInner::layoutPrepare(HistoryItem *item) {
|
||||||
if (!item) return nullptr;
|
if (!item) return nullptr;
|
||||||
|
|
||||||
LayoutItems::const_iterator i = _layoutItems.cend();
|
LayoutItems::const_iterator i = _layoutItems.cend();
|
||||||
|
@ -1848,59 +1851,59 @@ LayoutMediaItemBase *OverviewInner::layoutPrepare(HistoryItem *item) {
|
||||||
if (_type == OverviewPhotos) {
|
if (_type == OverviewPhotos) {
|
||||||
if (media && media->type() == MediaTypePhoto) {
|
if (media && media->type() == MediaTypePhoto) {
|
||||||
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
||||||
i = _layoutItems.insert(item, new LayoutOverviewPhoto(static_cast<HistoryPhoto*>(media)->photo(), item));
|
i = _layoutItems.insert(item, new Overview::Layout::Photo(static_cast<HistoryPhoto*>(media)->photo(), item));
|
||||||
i.value()->initDimensions();
|
i.value()->initDimensions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (_type == OverviewVideos) {
|
} else if (_type == OverviewVideos) {
|
||||||
if (media && media->type() == MediaTypeVideo) {
|
if (media && media->type() == MediaTypeVideo) {
|
||||||
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
||||||
i = _layoutItems.insert(item, new LayoutOverviewVideo(media->getDocument(), item));
|
i = _layoutItems.insert(item, new Overview::Layout::Video(media->getDocument(), item));
|
||||||
i.value()->initDimensions();
|
i.value()->initDimensions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (_type == OverviewVoiceFiles) {
|
} else if (_type == OverviewVoiceFiles) {
|
||||||
if (media && (media->type() == MediaTypeVoiceFile)) {
|
if (media && (media->type() == MediaTypeVoiceFile)) {
|
||||||
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
||||||
i = _layoutItems.insert(item, new LayoutOverviewVoice(media->getDocument(), item));
|
i = _layoutItems.insert(item, new Overview::Layout::Voice(media->getDocument(), item));
|
||||||
i.value()->initDimensions();
|
i.value()->initDimensions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (_type == OverviewFiles || _type == OverviewMusicFiles) {
|
} else if (_type == OverviewFiles || _type == OverviewMusicFiles) {
|
||||||
if (media && (media->type() == MediaTypeFile || media->type() == MediaTypeMusicFile || media->type() == MediaTypeGif)) {
|
if (media && (media->type() == MediaTypeFile || media->type() == MediaTypeMusicFile || media->type() == MediaTypeGif)) {
|
||||||
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
||||||
i = _layoutItems.insert(item, new LayoutOverviewDocument(media->getDocument(), item));
|
i = _layoutItems.insert(item, new Overview::Layout::Document(media->getDocument(), item));
|
||||||
i.value()->initDimensions();
|
i.value()->initDimensions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (_type == OverviewLinks) {
|
} else if (_type == OverviewLinks) {
|
||||||
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
if ((i = _layoutItems.constFind(item)) == _layoutItems.cend()) {
|
||||||
i = _layoutItems.insert(item, new LayoutOverviewLink(media, item));
|
i = _layoutItems.insert(item, new Overview::Layout::Link(media, item));
|
||||||
i.value()->initDimensions();
|
i.value()->initDimensions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (i == _layoutItems.cend()) ? nullptr : i.value();
|
return (i == _layoutItems.cend()) ? nullptr : i.value();
|
||||||
}
|
}
|
||||||
|
|
||||||
LayoutOverviewItemBase *OverviewInner::layoutPrepare(const QDate &date, bool month) {
|
Overview::Layout::AbstractItem *OverviewInner::layoutPrepare(const QDate &date, bool month) {
|
||||||
int32 key = date.year() * 100 + date.month();
|
int32 key = date.year() * 100 + date.month();
|
||||||
if (!month) key = key * 100 + date.day();
|
if (!month) key = key * 100 + date.day();
|
||||||
LayoutDates::const_iterator i = _layoutDates.constFind(key);
|
LayoutDates::const_iterator i = _layoutDates.constFind(key);
|
||||||
if (i == _layoutDates.cend()) {
|
if (i == _layoutDates.cend()) {
|
||||||
i = _layoutDates.insert(key, new LayoutOverviewDate(date, month));
|
i = _layoutDates.insert(key, new Overview::Layout::Date(date, month));
|
||||||
i.value()->initDimensions();
|
i.value()->initDimensions();
|
||||||
}
|
}
|
||||||
return i.value();
|
return i.value();
|
||||||
}
|
}
|
||||||
|
|
||||||
int32 OverviewInner::setLayoutItem(int32 index, LayoutOverviewItemBase *item, int32 top) {
|
int32 OverviewInner::setLayoutItem(int32 index, Overview::Layout::AbstractItem *item, int32 top) {
|
||||||
if (_items.size() > index) {
|
if (_items.size() > index) {
|
||||||
_items[index] = item;
|
_items[index] = item;
|
||||||
} else {
|
} else {
|
||||||
_items.push_back(item);
|
_items.push_back(item);
|
||||||
}
|
}
|
||||||
int32 h = item->resizeGetHeight(_rowWidth);
|
int32 h = item->resizeGetHeight(_rowWidth);
|
||||||
if (OverviewItemInfo *info = item->Get<OverviewItemInfo>()) {
|
if (auto info = item->Get<Overview::Layout::Info>()) {
|
||||||
info->top = top + (_reversed ? h : 0);
|
info->top = top + (_reversed ? h : 0);
|
||||||
}
|
}
|
||||||
return h;
|
return h;
|
||||||
|
|
|
@ -20,6 +20,16 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
namespace Overview {
|
||||||
|
namespace Layout {
|
||||||
|
|
||||||
|
class AbstractItem;
|
||||||
|
class ItemBase;
|
||||||
|
class Date;
|
||||||
|
|
||||||
|
} // namespace Layout
|
||||||
|
} // namespace Overview
|
||||||
|
|
||||||
class OverviewWidget;
|
class OverviewWidget;
|
||||||
class OverviewInner : public QWidget, public AbstractTooltipShower, public RPCSender {
|
class OverviewInner : public QWidget, public AbstractTooltipShower, public RPCSender {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -152,15 +162,15 @@ private:
|
||||||
|
|
||||||
int32 _rowsLeft, _rowWidth;
|
int32 _rowsLeft, _rowWidth;
|
||||||
|
|
||||||
typedef QVector<LayoutOverviewItemBase*> Items;
|
typedef QVector<Overview::Layout::AbstractItem*> Items;
|
||||||
Items _items;
|
Items _items;
|
||||||
typedef QMap<HistoryItem*, LayoutMediaItemBase*> LayoutItems;
|
typedef QMap<HistoryItem*, Overview::Layout::ItemBase*> LayoutItems;
|
||||||
LayoutItems _layoutItems;
|
LayoutItems _layoutItems;
|
||||||
typedef QMap<int32, LayoutOverviewDate*> LayoutDates;
|
typedef QMap<int32, Overview::Layout::Date*> LayoutDates;
|
||||||
LayoutDates _layoutDates;
|
LayoutDates _layoutDates;
|
||||||
LayoutMediaItemBase *layoutPrepare(HistoryItem *item);
|
Overview::Layout::ItemBase *layoutPrepare(HistoryItem *item);
|
||||||
LayoutOverviewItemBase *layoutPrepare(const QDate &date, bool month);
|
Overview::Layout::AbstractItem *layoutPrepare(const QDate &date, bool month);
|
||||||
int32 setLayoutItem(int32 index, LayoutOverviewItemBase *item, int32 top);
|
int32 setLayoutItem(int32 index, Overview::Layout::AbstractItem *item, int32 top);
|
||||||
|
|
||||||
FlatInput _search;
|
FlatInput _search;
|
||||||
IconedButton _cancelSearch;
|
IconedButton _cancelSearch;
|
||||||
|
|
|
@ -25,7 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
|
||||||
#include "passcodewidget.h"
|
#include "passcodewidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "ui/text.h"
|
#include "ui/text.h"
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "boxes/addcontactbox.h"
|
#include "boxes/addcontactbox.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "playerwidget.h"
|
#include "playerwidget.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "profilewidget.h"
|
#include "profilewidget.h"
|
||||||
#include "boxes/addcontactbox.h"
|
#include "boxes/addcontactbox.h"
|
||||||
|
@ -30,6 +30,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "boxes/contactsbox.h"
|
#include "boxes/contactsbox.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
|
#include "window/top_bar_widget.h"
|
||||||
|
|
||||||
ProfileInner::ProfileInner(ProfileWidget *profile, ScrollArea *scroll, PeerData *peer) : TWidget(0)
|
ProfileInner::ProfileInner(ProfileWidget *profile, ScrollArea *scroll, PeerData *peer) : TWidget(0)
|
||||||
, _profile(profile)
|
, _profile(profile)
|
||||||
|
|
|
@ -488,7 +488,7 @@ namespace {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) {
|
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) {
|
||||||
Window *wnd = App::wnd();
|
auto wnd = App::wnd();
|
||||||
if (!wnd) return false;
|
if (!wnd) return false;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) {
|
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) {
|
||||||
Window *wnd = AppClass::wnd();
|
auto wnd = AppClass::wnd();
|
||||||
if (!wnd) return false;
|
if (!wnd) return false;
|
||||||
|
|
||||||
return wnd->psFilterNativeEvent(message);
|
return wnd->psFilterNativeEvent(message);
|
||||||
|
|
|
@ -18,7 +18,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "pspecific_mac_p.h"
|
#include "pspecific_mac_p.h"
|
||||||
|
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
|
|
||||||
|
|
|
@ -802,7 +802,7 @@ namespace {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) {
|
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) {
|
||||||
Window *wnd = App::wnd();
|
auto wnd = App::wnd();
|
||||||
if (!wnd) return false;
|
if (!wnd) return false;
|
||||||
|
|
||||||
MSG *msg = (MSG*)message;
|
MSG *msg = (MSG*)message;
|
||||||
|
|
|
@ -802,7 +802,7 @@ namespace {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) {
|
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) {
|
||||||
Window *wnd = App::wnd();
|
auto wnd = App::wnd();
|
||||||
if (!wnd) return false;
|
if (!wnd) return false;
|
||||||
|
|
||||||
MSG *msg = (MSG*)message;
|
MSG *msg = (MSG*)message;
|
||||||
|
|
|
@ -41,9 +41,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "boxes/stickersetbox.h"
|
#include "boxes/stickersetbox.h"
|
||||||
#include "langloaderplain.h"
|
#include "langloaderplain.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
#include "autoupdater.h"
|
#include "autoupdater.h"
|
||||||
|
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
|
||||||
Slider::Slider(QWidget *parent, const style::slider &st, int32 count, int32 sel) : QWidget(parent),
|
Slider::Slider(QWidget *parent, const style::slider &st, int32 count, int32 sel) : QWidget(parent),
|
||||||
|
@ -291,9 +290,9 @@ SettingsInner::SettingsInner(SettingsWidget *parent) : TWidget(parent)
|
||||||
connect(&_downloadPathEdit, SIGNAL(clicked()), this, SLOT(onDownloadPathEdit()));
|
connect(&_downloadPathEdit, SIGNAL(clicked()), this, SLOT(onDownloadPathEdit()));
|
||||||
connect(&_downloadPathClear, SIGNAL(clicked()), this, SLOT(onDownloadPathClear()));
|
connect(&_downloadPathClear, SIGNAL(clicked()), this, SLOT(onDownloadPathClear()));
|
||||||
switch (App::wnd()->tempDirState()) {
|
switch (App::wnd()->tempDirState()) {
|
||||||
case Window::TempDirEmpty: _tempDirClearState = TempDirEmpty; break;
|
case MainWindow::TempDirEmpty: _tempDirClearState = TempDirEmpty; break;
|
||||||
case Window::TempDirExists: _tempDirClearState = TempDirExists; break;
|
case MainWindow::TempDirExists: _tempDirClearState = TempDirExists; break;
|
||||||
case Window::TempDirRemoving: _tempDirClearState = TempDirClearing; break;
|
case MainWindow::TempDirRemoving: _tempDirClearState = TempDirClearing; break;
|
||||||
}
|
}
|
||||||
connect(App::wnd(), SIGNAL(tempDirCleared(int)), this, SLOT(onTempDirCleared(int)));
|
connect(App::wnd(), SIGNAL(tempDirCleared(int)), this, SLOT(onTempDirCleared(int)));
|
||||||
connect(App::wnd(), SIGNAL(tempDirClearFailed(int)), this, SLOT(onTempDirClearFailed(int)));
|
connect(App::wnd(), SIGNAL(tempDirClearFailed(int)), this, SLOT(onTempDirClearFailed(int)));
|
||||||
|
@ -302,9 +301,9 @@ SettingsInner::SettingsInner(SettingsWidget *parent) : TWidget(parent)
|
||||||
// local storage
|
// local storage
|
||||||
connect(&_localStorageClear, SIGNAL(clicked()), this, SLOT(onLocalStorageClear()));
|
connect(&_localStorageClear, SIGNAL(clicked()), this, SLOT(onLocalStorageClear()));
|
||||||
switch (App::wnd()->localStorageState()) {
|
switch (App::wnd()->localStorageState()) {
|
||||||
case Window::TempDirEmpty: _storageClearState = TempDirEmpty; break;
|
case MainWindow::TempDirEmpty: _storageClearState = TempDirEmpty; break;
|
||||||
case Window::TempDirExists: _storageClearState = TempDirExists; break;
|
case MainWindow::TempDirExists: _storageClearState = TempDirExists; break;
|
||||||
case Window::TempDirRemoving: _storageClearState = TempDirClearing; break;
|
case MainWindow::TempDirRemoving: _storageClearState = TempDirClearing; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// chat background
|
// chat background
|
||||||
|
@ -1836,7 +1835,7 @@ void SettingsInner::onPhotoUpdateDone(PeerId peer) {
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
SettingsWidget::SettingsWidget(Window *parent) : TWidget(parent)
|
SettingsWidget::SettingsWidget(MainWindow *parent) : TWidget(parent)
|
||||||
, _a_show(animation(this, &SettingsWidget::step_show))
|
, _a_show(animation(this, &SettingsWidget::step_show))
|
||||||
, _scroll(this, st::setScroll)
|
, _scroll(this, st::setScroll)
|
||||||
, _inner(this)
|
, _inner(this)
|
||||||
|
|
|
@ -26,7 +26,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include <QtWidgets/QWidget>
|
#include <QtWidgets/QWidget>
|
||||||
|
|
||||||
class Window;
|
class MainWindow;
|
||||||
class Settings;
|
class Settings;
|
||||||
|
|
||||||
class Slider : public QWidget {
|
class Slider : public QWidget {
|
||||||
|
@ -313,7 +313,7 @@ class SettingsWidget : public TWidget {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SettingsWidget(Window *parent);
|
SettingsWidget(MainWindow *parent);
|
||||||
|
|
||||||
void paintEvent(QPaintEvent *e);
|
void paintEvent(QPaintEvent *e);
|
||||||
void resizeEvent(QResizeEvent *e);
|
void resizeEvent(QResizeEvent *e);
|
||||||
|
|
|
@ -19,18 +19,18 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
#include "shortcuts.h"
|
#include "shortcuts.h"
|
||||||
|
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "passcodewidget.h"
|
#include "passcodewidget.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
|
#include "playerwidget.h"
|
||||||
|
|
||||||
namespace ShortcutCommands {
|
namespace ShortcutCommands {
|
||||||
typedef void(*Handler)();
|
typedef void(*Handler)();
|
||||||
|
|
||||||
void lock_telegram() {
|
void lock_telegram() {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
if (App::passcoded()) {
|
if (App::passcoded()) {
|
||||||
w->passcodeWidget()->onSubmit();
|
w->passcodeWidget()->onSubmit();
|
||||||
} else if (cHasPasscode()) {
|
} else if (cHasPasscode()) {
|
||||||
|
@ -40,7 +40,7 @@ namespace ShortcutCommands {
|
||||||
}
|
}
|
||||||
|
|
||||||
void minimize_telegram() {
|
void minimize_telegram() {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
if (cWorkMode() == dbiwmTrayOnly) {
|
if (cWorkMode() == dbiwmTrayOnly) {
|
||||||
w->minimizeToTray();
|
w->minimizeToTray();
|
||||||
} else {
|
} else {
|
||||||
|
@ -51,8 +51,8 @@ namespace ShortcutCommands {
|
||||||
|
|
||||||
void close_telegram() {
|
void close_telegram() {
|
||||||
if (!Ui::hideWindowNoQuit()) {
|
if (!Ui::hideWindowNoQuit()) {
|
||||||
if (Window *w = App::wnd()) {
|
if (auto w = App::wnd()) {
|
||||||
App::wnd()->close();
|
w->close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,7 +31,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include <QtWidgets/QtWidgets>
|
#include <QtWidgets/QtWidgets>
|
||||||
#include <QtNetwork/QtNetwork>
|
#include <QtNetwork/QtNetwork>
|
||||||
|
|
||||||
#include "basic_types.h"
|
#include "core/basic_types.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "mtproto/facade.h"
|
#include "mtproto/facade.h"
|
||||||
|
|
|
@ -28,11 +28,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "fileuploader.h"
|
#include "fileuploader.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "ui/filedialog.h"
|
#include "ui/filedialog.h"
|
||||||
|
#include "apiwrap.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
|
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "localstorage.h"
|
#include "localstorage.h"
|
||||||
|
|
||||||
|
|
|
@ -1312,3 +1312,63 @@ struct MessageCursor {
|
||||||
inline bool operator==(const MessageCursor &a, const MessageCursor &b) {
|
inline bool operator==(const MessageCursor &a, const MessageCursor &b) {
|
||||||
return (a.position == b.position) && (a.anchor == b.anchor) && (a.scroll == b.scroll);
|
return (a.position == b.position) && (a.anchor == b.anchor) && (a.scroll == b.scroll);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct LocationCoords {
|
||||||
|
LocationCoords() : lat(0), lon(0) {
|
||||||
|
}
|
||||||
|
LocationCoords(float64 lat, float64 lon) : lat(lat), lon(lon) {
|
||||||
|
}
|
||||||
|
LocationCoords(const MTPDgeoPoint &point) : lat(point.vlat.v), lon(point.vlong.v) {
|
||||||
|
}
|
||||||
|
float64 lat, lon;
|
||||||
|
};
|
||||||
|
inline bool operator==(const LocationCoords &a, const LocationCoords &b) {
|
||||||
|
return (a.lat == b.lat) && (a.lon == b.lon);
|
||||||
|
}
|
||||||
|
inline bool operator<(const LocationCoords &a, const LocationCoords &b) {
|
||||||
|
return (a.lat < b.lat) || ((a.lat == b.lat) && (a.lon < b.lon));
|
||||||
|
}
|
||||||
|
inline uint qHash(const LocationCoords &t, uint seed = 0) {
|
||||||
|
return qHash(QtPrivate::QHashCombine().operator()(qHash(t.lat), t.lon), seed);
|
||||||
|
}
|
||||||
|
|
||||||
|
struct LocationData {
|
||||||
|
LocationData(const LocationCoords &coords) : coords(coords), loading(false) {
|
||||||
|
}
|
||||||
|
|
||||||
|
LocationCoords coords;
|
||||||
|
ImagePtr thumb;
|
||||||
|
bool loading;
|
||||||
|
|
||||||
|
void load();
|
||||||
|
};
|
||||||
|
|
||||||
|
class LocationClickHandler : public ClickHandler {
|
||||||
|
public:
|
||||||
|
LocationClickHandler(const LocationCoords &coords) : _coords(coords) {
|
||||||
|
setup();
|
||||||
|
}
|
||||||
|
QString copyToClipboardContextItem() const override;
|
||||||
|
|
||||||
|
void copyToClipboard() const override {
|
||||||
|
if (!_text.isEmpty()) {
|
||||||
|
QApplication::clipboard()->setText(_text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QString tooltip() const override {
|
||||||
|
return QString();
|
||||||
|
}
|
||||||
|
|
||||||
|
QString text() const override {
|
||||||
|
return _text;
|
||||||
|
}
|
||||||
|
void onClick(Qt::MouseButton button) const override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
void setup();
|
||||||
|
LocationCoords _coords;
|
||||||
|
QString _text;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
|
@ -111,7 +111,7 @@ void SysBtn::step_color(float64 ms, bool timer) {
|
||||||
if (timer) update();
|
if (timer) update();
|
||||||
}
|
}
|
||||||
|
|
||||||
MinimizeBtn::MinimizeBtn(QWidget *parent, Window *window) : SysBtn(parent, st::sysMin), wnd(window) {
|
MinimizeBtn::MinimizeBtn(QWidget *parent, MainWindow *window) : SysBtn(parent, st::sysMin), wnd(window) {
|
||||||
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -119,7 +119,7 @@ void MinimizeBtn::onClick() {
|
||||||
wnd->setWindowState(Qt::WindowMinimized);
|
wnd->setWindowState(Qt::WindowMinimized);
|
||||||
}
|
}
|
||||||
|
|
||||||
MaximizeBtn::MaximizeBtn(QWidget *parent, Window *window) : SysBtn(parent, st::sysMax), wnd(window) {
|
MaximizeBtn::MaximizeBtn(QWidget *parent, MainWindow *window) : SysBtn(parent, st::sysMax), wnd(window) {
|
||||||
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ void MaximizeBtn::onClick() {
|
||||||
wnd->setWindowState(Qt::WindowMaximized);
|
wnd->setWindowState(Qt::WindowMaximized);
|
||||||
}
|
}
|
||||||
|
|
||||||
RestoreBtn::RestoreBtn(QWidget *parent, Window *window) : SysBtn(parent, st::sysRes), wnd(window) {
|
RestoreBtn::RestoreBtn(QWidget *parent, MainWindow *window) : SysBtn(parent, st::sysRes), wnd(window) {
|
||||||
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ void RestoreBtn::onClick() {
|
||||||
wnd->setWindowState(Qt::WindowNoState);
|
wnd->setWindowState(Qt::WindowNoState);
|
||||||
}
|
}
|
||||||
|
|
||||||
CloseBtn::CloseBtn(QWidget *parent, Window *window) : SysBtn(parent, st::sysCls), wnd(window) {
|
CloseBtn::CloseBtn(QWidget *parent, MainWindow *window) : SysBtn(parent, st::sysCls), wnd(window) {
|
||||||
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,7 +143,7 @@ void CloseBtn::onClick() {
|
||||||
wnd->close();
|
wnd->close();
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateBtn::UpdateBtn(QWidget *parent, Window *window, const QString &text) : SysBtn(parent, st::sysUpd, text), wnd(window) {
|
UpdateBtn::UpdateBtn(QWidget *parent, MainWindow *window, const QString &text) : SysBtn(parent, st::sysUpd, text), wnd(window) {
|
||||||
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -161,7 +161,7 @@ void UpdateBtn::onClick() {
|
||||||
App::quit();
|
App::quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
LockBtn::LockBtn(QWidget *parent, Window *window) : SysBtn(parent, st::sysLock), wnd(window) {
|
LockBtn::LockBtn(QWidget *parent, MainWindow *window) : SysBtn(parent, st::sysLock), wnd(window) {
|
||||||
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
connect(this, SIGNAL(clicked()), this, SLOT(onClick()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "ui/animation.h"
|
#include "ui/animation.h"
|
||||||
#include "ui/button.h"
|
#include "ui/button.h"
|
||||||
|
|
||||||
class Window;
|
class MainWindow;
|
||||||
|
|
||||||
class SysBtn : public Button {
|
class SysBtn : public Button {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -62,7 +62,7 @@ class MinimizeBtn : public SysBtn {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
MinimizeBtn(QWidget *parent, Window *window);
|
MinimizeBtn(QWidget *parent, MainWindow *window);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Window *wnd;
|
MainWindow *wnd;
|
||||||
};
|
};
|
||||||
|
|
||||||
class MaximizeBtn : public SysBtn {
|
class MaximizeBtn : public SysBtn {
|
||||||
|
@ -78,7 +78,7 @@ class MaximizeBtn : public SysBtn {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
MaximizeBtn(QWidget *parent, Window *window);
|
MaximizeBtn(QWidget *parent, MainWindow *window);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Window *wnd;
|
MainWindow *wnd;
|
||||||
};
|
};
|
||||||
|
|
||||||
class RestoreBtn : public SysBtn {
|
class RestoreBtn : public SysBtn {
|
||||||
|
@ -94,7 +94,7 @@ class RestoreBtn : public SysBtn {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
RestoreBtn(QWidget *parent, Window *window);
|
RestoreBtn(QWidget *parent, MainWindow *window);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Window *wnd;
|
MainWindow *wnd;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CloseBtn : public SysBtn {
|
class CloseBtn : public SysBtn {
|
||||||
|
@ -110,7 +110,7 @@ class CloseBtn : public SysBtn {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
CloseBtn(QWidget *parent, Window *window);
|
CloseBtn(QWidget *parent, MainWindow *window);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Window *wnd;
|
MainWindow *wnd;
|
||||||
};
|
};
|
||||||
|
|
||||||
class UpdateBtn : public SysBtn {
|
class UpdateBtn : public SysBtn {
|
||||||
|
@ -126,7 +126,7 @@ class UpdateBtn : public SysBtn {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UpdateBtn(QWidget *parent, Window *window, const QString &text = QString());
|
UpdateBtn(QWidget *parent, MainWindow *window, const QString &text = QString());
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
@ -134,7 +134,7 @@ public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Window *wnd;
|
MainWindow *wnd;
|
||||||
};
|
};
|
||||||
|
|
||||||
class LockBtn : public SysBtn {
|
class LockBtn : public SysBtn {
|
||||||
|
@ -142,7 +142,7 @@ class LockBtn : public SysBtn {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
LockBtn(QWidget *parent, Window *window);
|
LockBtn(QWidget *parent, MainWindow *window);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
|
|
||||||
|
@ -150,5 +150,5 @@ public slots:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Window *wnd;
|
MainWindow *wnd;
|
||||||
};
|
};
|
||||||
|
|
|
@ -24,7 +24,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "title.h"
|
#include "title.h"
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "boxes/contactsbox.h"
|
#include "boxes/contactsbox.h"
|
||||||
#include "boxes/aboutbox.h"
|
#include "boxes/aboutbox.h"
|
||||||
|
@ -49,7 +49,7 @@ void TitleHider::setLevel(float64 level) {
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
TitleWidget::TitleWidget(Window *window) : TWidget(window)
|
TitleWidget::TitleWidget(MainWindow *window) : TWidget(window)
|
||||||
, wnd(window)
|
, wnd(window)
|
||||||
, hideLevel(0)
|
, hideLevel(0)
|
||||||
, hider(0)
|
, hider(0)
|
||||||
|
|
|
@ -23,7 +23,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include <QtWidgets/QWidget>
|
#include <QtWidgets/QWidget>
|
||||||
#include "sysbuttons.h"
|
#include "sysbuttons.h"
|
||||||
|
|
||||||
class Window;
|
class MainWindow;
|
||||||
|
|
||||||
class TitleHider : public QWidget {
|
class TitleHider : public QWidget {
|
||||||
public:
|
public:
|
||||||
|
@ -44,7 +44,7 @@ class TitleWidget : public TWidget {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
TitleWidget(Window *parent);
|
TitleWidget(MainWindow *parent);
|
||||||
void paintEvent(QPaintEvent *e);
|
void paintEvent(QPaintEvent *e);
|
||||||
void resizeEvent(QResizeEvent *e);
|
void resizeEvent(QResizeEvent *e);
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ signals:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Window *wnd;
|
MainWindow *wnd;
|
||||||
|
|
||||||
style::color statusColor;
|
style::color statusColor;
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ extern "C" {
|
||||||
}
|
}
|
||||||
|
|
||||||
#include "mainwidget.h"
|
#include "mainwidget.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
AnimationManager *_manager = 0;
|
AnimationManager *_manager = 0;
|
||||||
|
|
|
@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "basic_types.h"
|
#include "core/basic_types.h"
|
||||||
#include <QtCore/QTimer>
|
#include <QtCore/QTimer>
|
||||||
#include <QtGui/QColor>
|
#include <QtGui/QColor>
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "ui/buttons/peer_avatar_button.h"
|
#include "ui/buttons/peer_avatar_button.h"
|
||||||
|
|
||||||
|
#include "structs.h"
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
|
||||||
PeerAvatarButton::PeerAvatarButton(QWidget *parent, PeerData *peer, const style::PeerAvatarButton &st) : Button(parent)
|
PeerAvatarButton::PeerAvatarButton(QWidget *parent, PeerData *peer, const style::PeerAvatarButton &st) : Button(parent)
|
||||||
, _peer(peer)
|
, _peer(peer)
|
||||||
, _st(st) {
|
, _st(st) {
|
||||||
|
@ -33,3 +37,5 @@ void PeerAvatarButton::paintEvent(QPaintEvent *e) {
|
||||||
_peer->paintUserpic(p, _st.photoSize, (_st.size - _st.photoSize) / 2, (_st.size - _st.photoSize) / 2);
|
_peer->paintUserpic(p, _st.photoSize, (_st.size - _st.photoSize) / 2, (_st.size - _st.photoSize) / 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // namespace Ui
|
||||||
|
|
|
@ -22,7 +22,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "ui/button.h"
|
#include "ui/button.h"
|
||||||
#include "ui/style.h"
|
#include "ui/style.h"
|
||||||
#include "structs.h"
|
|
||||||
|
class PeerData;
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
|
||||||
class PeerAvatarButton : public Button {
|
class PeerAvatarButton : public Button {
|
||||||
public:
|
public:
|
||||||
|
@ -38,3 +41,5 @@ private:
|
||||||
const style::PeerAvatarButton &_st;
|
const style::PeerAvatarButton &_st;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
} // namespace Ui
|
||||||
|
|
|
@ -22,7 +22,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "ui/style.h"
|
#include "ui/style.h"
|
||||||
|
|
||||||
#include "flatinput.h"
|
#include "flatinput.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
#include "countryinput.h"
|
#include "countryinput.h"
|
||||||
|
|
||||||
#include "lang.h"
|
#include "lang.h"
|
||||||
|
|
|
@ -22,7 +22,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "flattextarea.h"
|
#include "flattextarea.h"
|
||||||
|
|
||||||
#include "ui/style.h"
|
#include "ui/style.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
FlatTextarea::FlatTextarea(QWidget *parent, const style::flatTextarea &st, const QString &pholder, const QString &v) : QTextEdit(parent)
|
FlatTextarea::FlatTextarea(QWidget *parent, const style::flatTextarea &st, const QString &pholder, const QString &v) : QTextEdit(parent)
|
||||||
, _oldtext(v)
|
, _oldtext(v)
|
||||||
|
|
|
@ -21,13 +21,13 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "text.h"
|
#include "text.h"
|
||||||
|
|
||||||
#include "lang.h"
|
#include <private/qharfbuzz_p.h>
|
||||||
|
|
||||||
|
#include "core/click_handler_types.h"
|
||||||
|
#include "lang.h"
|
||||||
#include "pspecific.h"
|
#include "pspecific.h"
|
||||||
#include "boxes/confirmbox.h"
|
#include "boxes/confirmbox.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
#include <private/qharfbuzz_p.h>
|
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
@ -57,47 +57,6 @@ namespace {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ClickHandlerHost::~ClickHandlerHost() {
|
|
||||||
ClickHandler::hostDestroyed(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
NeverFreedPointer<ClickHandlerPtr> ClickHandler::_active;
|
|
||||||
NeverFreedPointer<ClickHandlerPtr> ClickHandler::_pressed;
|
|
||||||
ClickHandlerHost *ClickHandler::_activeHost = nullptr;
|
|
||||||
ClickHandlerHost *ClickHandler::_pressedHost = nullptr;
|
|
||||||
|
|
||||||
bool ClickHandler::setActive(const ClickHandlerPtr &p, ClickHandlerHost *host) {
|
|
||||||
if ((_active && (*_active == p)) || (!_active && !p)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// emit clickHandlerActiveChanged only when there is no
|
|
||||||
// other pressed click handler currently, if there is
|
|
||||||
// this method will be called when it is unpressed
|
|
||||||
if (_active && *_active) {
|
|
||||||
bool emitClickHandlerActiveChanged = (!_pressed || !*_pressed || *_pressed == *_active);
|
|
||||||
ClickHandlerPtr wasactive = *_active;
|
|
||||||
(*_active).clear();
|
|
||||||
if (_activeHost) {
|
|
||||||
if (emitClickHandlerActiveChanged) {
|
|
||||||
_activeHost->clickHandlerActiveChanged(wasactive, false);
|
|
||||||
}
|
|
||||||
_activeHost = nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (p) {
|
|
||||||
_active.makeIfNull();
|
|
||||||
*_active = p;
|
|
||||||
if ((_activeHost = host)) {
|
|
||||||
bool emitClickHandlerActiveChanged = (!_pressed || !*_pressed || *_pressed == *_active);
|
|
||||||
if (emitClickHandlerActiveChanged) {
|
|
||||||
_activeHost->clickHandlerActiveChanged(*_active, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const QRegularExpression &reDomain() {
|
const QRegularExpression &reDomain() {
|
||||||
return _reDomain;
|
return _reDomain;
|
||||||
}
|
}
|
||||||
|
@ -954,113 +913,6 @@ namespace {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString UrlClickHandler::copyToClipboardContextItem() const {
|
|
||||||
return lang(isEmail() ? lng_context_copy_email : lng_context_copy_link);
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace {
|
|
||||||
|
|
||||||
QString tryConvertUrlToLocal(const QString &url) {
|
|
||||||
QRegularExpressionMatch telegramMeUser = QRegularExpression(qsl("^https?://telegram\\.me/([a-zA-Z0-9\\.\\_]+)(/?\\?|/?$|/(\\d+)/?(?:\\?|$))"), QRegularExpression::CaseInsensitiveOption).match(url);
|
|
||||||
QRegularExpressionMatch telegramMeGroup = QRegularExpression(qsl("^https?://telegram\\.me/joinchat/([a-zA-Z0-9\\.\\_\\-]+)(\\?|$)"), QRegularExpression::CaseInsensitiveOption).match(url);
|
|
||||||
QRegularExpressionMatch telegramMeStickers = QRegularExpression(qsl("^https?://telegram\\.me/addstickers/([a-zA-Z0-9\\.\\_]+)(\\?|$)"), QRegularExpression::CaseInsensitiveOption).match(url);
|
|
||||||
QRegularExpressionMatch telegramMeShareUrl = QRegularExpression(qsl("^https?://telegram\\.me/share/url\\?(.+)$"), QRegularExpression::CaseInsensitiveOption).match(url);
|
|
||||||
if (telegramMeGroup.hasMatch()) {
|
|
||||||
return qsl("tg://join?invite=") + myUrlEncode(telegramMeGroup.captured(1));
|
|
||||||
} else if (telegramMeStickers.hasMatch()) {
|
|
||||||
return qsl("tg://addstickers?set=") + myUrlEncode(telegramMeStickers.captured(1));
|
|
||||||
} else if (telegramMeShareUrl.hasMatch()) {
|
|
||||||
return qsl("tg://msg_url?") + telegramMeShareUrl.captured(1);
|
|
||||||
} else if (telegramMeUser.hasMatch()) {
|
|
||||||
QString params = url.mid(telegramMeUser.captured(0).size()), postParam;
|
|
||||||
if (QRegularExpression(qsl("^/\\d+/?(?:\\?|$)")).match(telegramMeUser.captured(2)).hasMatch()) {
|
|
||||||
postParam = qsl("&post=") + telegramMeUser.captured(3);
|
|
||||||
}
|
|
||||||
return qsl("tg://resolve/?domain=") + myUrlEncode(telegramMeUser.captured(1)) + postParam + (params.isEmpty() ? QString() : '&' + params);
|
|
||||||
}
|
|
||||||
return url;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
void UrlClickHandler::doOpen(QString url) {
|
|
||||||
PopupTooltip::Hide();
|
|
||||||
|
|
||||||
if (isEmail(url)) {
|
|
||||||
QUrl u(qstr("mailto:") + url);
|
|
||||||
if (!QDesktopServices::openUrl(u)) {
|
|
||||||
psOpenFile(u.toString(QUrl::FullyEncoded), true);
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
url = tryConvertUrlToLocal(url);
|
|
||||||
|
|
||||||
if (url.startsWith(qstr("tg://"), Qt::CaseInsensitive)) {
|
|
||||||
App::openLocalUrl(url);
|
|
||||||
} else {
|
|
||||||
QDesktopServices::openUrl(url);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void HiddenUrlClickHandler::onClick(Qt::MouseButton button) const {
|
|
||||||
QString u = url();
|
|
||||||
|
|
||||||
u = tryConvertUrlToLocal(u);
|
|
||||||
|
|
||||||
if (u.startsWith(qstr("tg://"))) {
|
|
||||||
App::openLocalUrl(u);
|
|
||||||
} else {
|
|
||||||
Ui::showLayer(new ConfirmLinkBox(u));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QString LocationClickHandler::copyToClipboardContextItem() const {
|
|
||||||
return lang(lng_context_copy_link);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocationClickHandler::onClick(Qt::MouseButton button) const {
|
|
||||||
if (!psLaunchMaps(_coords)) {
|
|
||||||
QDesktopServices::openUrl(_text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocationClickHandler::setup() {
|
|
||||||
QString latlon(qsl("%1,%2").arg(_coords.lat).arg(_coords.lon));
|
|
||||||
_text = qsl("https://maps.google.com/maps?q=") + latlon + qsl("&ll=") + latlon + qsl("&z=16");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString MentionClickHandler::copyToClipboardContextItem() const {
|
|
||||||
return lang(lng_context_copy_mention);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MentionClickHandler::onClick(Qt::MouseButton button) const {
|
|
||||||
if (button == Qt::LeftButton || button == Qt::MiddleButton) {
|
|
||||||
App::openPeerByName(_tag.mid(1), ShowAtProfileMsgId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QString HashtagClickHandler::copyToClipboardContextItem() const {
|
|
||||||
return lang(lng_context_copy_hashtag);
|
|
||||||
}
|
|
||||||
|
|
||||||
void HashtagClickHandler::onClick(Qt::MouseButton button) const {
|
|
||||||
if (button == Qt::LeftButton || button == Qt::MiddleButton) {
|
|
||||||
App::searchByHashtag(_tag, Ui::getPeerForMouseAction());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void BotCommandClickHandler::onClick(Qt::MouseButton button) const {
|
|
||||||
if (button == Qt::LeftButton || button == Qt::MiddleButton) {
|
|
||||||
if (PeerData *peer = Ui::getPeerForMouseAction()) {
|
|
||||||
Ui::showPeerHistory(peer, ShowAtTheEndMsgId);
|
|
||||||
App::sendBotCommand(peer, _cmd);
|
|
||||||
} else {
|
|
||||||
App::insertBotCommand(_cmd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class TextPainter {
|
class TextPainter {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "core/click_handler.h"
|
||||||
|
|
||||||
enum EntityInTextType {
|
enum EntityInTextType {
|
||||||
EntityInTextUrl,
|
EntityInTextUrl,
|
||||||
EntityInTextCustomUrl,
|
EntityInTextCustomUrl,
|
||||||
|
@ -34,10 +36,10 @@ enum EntityInTextType {
|
||||||
EntityInTextPre, // block
|
EntityInTextPre, // block
|
||||||
};
|
};
|
||||||
struct EntityInText {
|
struct EntityInText {
|
||||||
EntityInText(EntityInTextType type, int32 offset, int32 length, const QString &text = QString()) : type(type), offset(offset), length(length), text(text) {
|
EntityInText(EntityInTextType type, int offset, int length, const QString &text = QString()) : type(type), offset(offset), length(length), text(text) {
|
||||||
}
|
}
|
||||||
EntityInTextType type;
|
EntityInTextType type;
|
||||||
int32 offset, length;
|
int offset, length;
|
||||||
QString text;
|
QString text;
|
||||||
};
|
};
|
||||||
typedef QList<EntityInText> EntitiesInText;
|
typedef QList<EntityInText> EntitiesInText;
|
||||||
|
@ -309,344 +311,6 @@ private:
|
||||||
friend class TextPainter;
|
friend class TextPainter;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ClickHandler;
|
|
||||||
using ClickHandlerPtr = QSharedPointer<ClickHandler>;
|
|
||||||
|
|
||||||
class ClickHandlerHost {
|
|
||||||
protected:
|
|
||||||
|
|
||||||
virtual void clickHandlerActiveChanged(const ClickHandlerPtr &action, bool active) {
|
|
||||||
}
|
|
||||||
virtual void clickHandlerPressedChanged(const ClickHandlerPtr &action, bool pressed) {
|
|
||||||
}
|
|
||||||
virtual ~ClickHandlerHost() = 0;
|
|
||||||
friend class ClickHandler;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class ClickHandler {
|
|
||||||
public:
|
|
||||||
|
|
||||||
virtual void onClick(Qt::MouseButton) const = 0;
|
|
||||||
|
|
||||||
virtual QString tooltip() const {
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
virtual void copyToClipboard() const {
|
|
||||||
}
|
|
||||||
virtual QString copyToClipboardContextItem() const {
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
virtual QString text() const {
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
virtual QString dragText() const {
|
|
||||||
return text();
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual ~ClickHandler() {
|
|
||||||
}
|
|
||||||
|
|
||||||
// this method should be called on mouse over a click handler
|
|
||||||
// it returns true if something was changed or false otherwise
|
|
||||||
static bool setActive(const ClickHandlerPtr &p, ClickHandlerHost *host = nullptr);
|
|
||||||
|
|
||||||
// this method should be called when mouse leaves the host
|
|
||||||
// it returns true if something was changed or false otherwise
|
|
||||||
static bool clearActive(ClickHandlerHost *host = nullptr) {
|
|
||||||
if (host && _activeHost != host) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return setActive(ClickHandlerPtr(), host);
|
|
||||||
}
|
|
||||||
|
|
||||||
// this method should be called on mouse pressed
|
|
||||||
static void pressed() {
|
|
||||||
unpressed();
|
|
||||||
if (!_active || !*_active) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_pressed.makeIfNull();
|
|
||||||
*_pressed = *_active;
|
|
||||||
if ((_pressedHost = _activeHost)) {
|
|
||||||
_pressedHost->clickHandlerPressedChanged(*_pressed, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// this method should be called on mouse released
|
|
||||||
// the activated click handler is returned
|
|
||||||
static ClickHandlerPtr unpressed() {
|
|
||||||
if (_pressed && *_pressed) {
|
|
||||||
bool activated = (_active && *_active == *_pressed);
|
|
||||||
ClickHandlerPtr waspressed = *_pressed;
|
|
||||||
(*_pressed).clear();
|
|
||||||
if (_pressedHost) {
|
|
||||||
_pressedHost->clickHandlerPressedChanged(waspressed, false);
|
|
||||||
_pressedHost = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (activated) {
|
|
||||||
return *_active;
|
|
||||||
} else if (_active && *_active && _activeHost) {
|
|
||||||
// emit clickHandlerActiveChanged for current active
|
|
||||||
// click handler, which we didn't emit while we has
|
|
||||||
// a pressed click handler
|
|
||||||
_activeHost->clickHandlerActiveChanged(*_active, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ClickHandlerPtr();
|
|
||||||
}
|
|
||||||
|
|
||||||
static ClickHandlerPtr getActive() {
|
|
||||||
return _active ? *_active : ClickHandlerPtr();
|
|
||||||
}
|
|
||||||
static ClickHandlerPtr getPressed() {
|
|
||||||
return _pressed ? *_pressed : ClickHandlerPtr();
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool showAsActive(const ClickHandlerPtr &p) {
|
|
||||||
if (!p || !_active || p != *_active) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return !_pressed || !*_pressed || (p == *_pressed);
|
|
||||||
}
|
|
||||||
static bool showAsPressed(const ClickHandlerPtr &p) {
|
|
||||||
if (!p || !_active || p != *_active) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return _pressed && (p == *_pressed);
|
|
||||||
}
|
|
||||||
static void hostDestroyed(ClickHandlerHost *host) {
|
|
||||||
if (_activeHost == host) {
|
|
||||||
_activeHost = nullptr;
|
|
||||||
} else if (_pressedHost == host) {
|
|
||||||
_pressedHost = nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
static NeverFreedPointer<ClickHandlerPtr> _active;
|
|
||||||
static NeverFreedPointer<ClickHandlerPtr> _pressed;
|
|
||||||
static ClickHandlerHost *_activeHost;
|
|
||||||
static ClickHandlerHost *_pressedHost;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class LeftButtonClickHandler : public ClickHandler {
|
|
||||||
public:
|
|
||||||
void onClick(Qt::MouseButton button) const override final {
|
|
||||||
if (button != Qt::LeftButton) return;
|
|
||||||
onClickImpl();
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual void onClickImpl() const = 0;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class TextClickHandler : public ClickHandler {
|
|
||||||
public:
|
|
||||||
|
|
||||||
TextClickHandler(bool fullDisplayed = true) : _fullDisplayed(fullDisplayed) {
|
|
||||||
}
|
|
||||||
|
|
||||||
void copyToClipboard() const override {
|
|
||||||
QString u = url();
|
|
||||||
if (!u.isEmpty()) {
|
|
||||||
QApplication::clipboard()->setText(u);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
QString tooltip() const override {
|
|
||||||
return _fullDisplayed ? QString() : readable();
|
|
||||||
}
|
|
||||||
|
|
||||||
void setFullDisplayed(bool full) {
|
|
||||||
_fullDisplayed = full;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
virtual QString url() const = 0;
|
|
||||||
virtual QString readable() const {
|
|
||||||
return url();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool _fullDisplayed;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class UrlClickHandler : public TextClickHandler {
|
|
||||||
public:
|
|
||||||
UrlClickHandler(const QString &url, bool fullDisplayed = true) : TextClickHandler(fullDisplayed), _url(url) {
|
|
||||||
if (isEmail()) {
|
|
||||||
_readable = _url;
|
|
||||||
} else {
|
|
||||||
QUrl u(_url), good(u.isValid() ? u.toEncoded() : QString());
|
|
||||||
_readable = good.isValid() ? good.toDisplayString() : _url;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
QString copyToClipboardContextItem() const override;
|
|
||||||
|
|
||||||
QString text() const override {
|
|
||||||
return _url;
|
|
||||||
}
|
|
||||||
QString dragText() const override {
|
|
||||||
return url();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void doOpen(QString url);
|
|
||||||
void onClick(Qt::MouseButton button) const override {
|
|
||||||
if (button == Qt::LeftButton || button == Qt::MiddleButton) {
|
|
||||||
doOpen(url());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
QString url() const override {
|
|
||||||
if (isEmail()) {
|
|
||||||
return _url;
|
|
||||||
}
|
|
||||||
|
|
||||||
QUrl u(_url), good(u.isValid() ? u.toEncoded() : QString());
|
|
||||||
QString result(good.isValid() ? QString::fromUtf8(good.toEncoded()) : _url);
|
|
||||||
|
|
||||||
if (!QRegularExpression(qsl("^[a-zA-Z]+:")).match(result).hasMatch()) { // no protocol
|
|
||||||
return qsl("http://") + result;
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
QString readable() const override {
|
|
||||||
return _readable;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
static bool isEmail(const QString &url) {
|
|
||||||
int at = url.indexOf('@'), slash = url.indexOf('/');
|
|
||||||
return ((at > 0) && (slash < 0 || slash > at));
|
|
||||||
}
|
|
||||||
bool isEmail() const {
|
|
||||||
return isEmail(_url);
|
|
||||||
}
|
|
||||||
|
|
||||||
QString _url, _readable;
|
|
||||||
|
|
||||||
};
|
|
||||||
typedef QSharedPointer<TextClickHandler> TextClickHandlerPtr;
|
|
||||||
|
|
||||||
class HiddenUrlClickHandler : public UrlClickHandler {
|
|
||||||
public:
|
|
||||||
HiddenUrlClickHandler(QString url) : UrlClickHandler(url, false) {
|
|
||||||
}
|
|
||||||
void onClick(Qt::MouseButton button) const override;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
struct LocationCoords {
|
|
||||||
LocationCoords() : lat(0), lon(0) {
|
|
||||||
}
|
|
||||||
LocationCoords(float64 lat, float64 lon) : lat(lat), lon(lon) {
|
|
||||||
}
|
|
||||||
LocationCoords(const MTPDgeoPoint &point) : lat(point.vlat.v), lon(point.vlong.v) {
|
|
||||||
}
|
|
||||||
float64 lat, lon;
|
|
||||||
};
|
|
||||||
inline bool operator==(const LocationCoords &a, const LocationCoords &b) {
|
|
||||||
return (a.lat == b.lat) && (a.lon == b.lon);
|
|
||||||
}
|
|
||||||
inline bool operator<(const LocationCoords &a, const LocationCoords &b) {
|
|
||||||
return (a.lat < b.lat) || ((a.lat == b.lat) && (a.lon < b.lon));
|
|
||||||
}
|
|
||||||
inline uint qHash(const LocationCoords &t, uint seed = 0) {
|
|
||||||
return qHash(QtPrivate::QHashCombine().operator()(qHash(t.lat), t.lon), seed);
|
|
||||||
}
|
|
||||||
|
|
||||||
class LocationClickHandler : public TextClickHandler {
|
|
||||||
public:
|
|
||||||
LocationClickHandler(const LocationCoords &coords) : _coords(coords) {
|
|
||||||
setup();
|
|
||||||
}
|
|
||||||
QString copyToClipboardContextItem() const override;
|
|
||||||
|
|
||||||
QString text() const override {
|
|
||||||
return _text;
|
|
||||||
}
|
|
||||||
void onClick(Qt::MouseButton button) const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
QString url() const override {
|
|
||||||
return _text;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
void setup();
|
|
||||||
LocationCoords _coords;
|
|
||||||
QString _text;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class MentionClickHandler : public TextClickHandler {
|
|
||||||
public:
|
|
||||||
MentionClickHandler(const QString &tag) : _tag(tag) {
|
|
||||||
}
|
|
||||||
QString copyToClipboardContextItem() const override;
|
|
||||||
|
|
||||||
QString text() const override {
|
|
||||||
return _tag;
|
|
||||||
}
|
|
||||||
void onClick(Qt::MouseButton button) const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
QString url() const override {
|
|
||||||
return _tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
QString _tag;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class HashtagClickHandler : public TextClickHandler {
|
|
||||||
public:
|
|
||||||
HashtagClickHandler(const QString &tag) : _tag(tag) {
|
|
||||||
}
|
|
||||||
QString copyToClipboardContextItem() const override;
|
|
||||||
|
|
||||||
QString text() const override {
|
|
||||||
return _tag;
|
|
||||||
}
|
|
||||||
void onClick(Qt::MouseButton button) const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
QString url() const override {
|
|
||||||
return _tag;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
QString _tag;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class BotCommandClickHandler : public TextClickHandler {
|
|
||||||
public:
|
|
||||||
BotCommandClickHandler(const QString &cmd) : _cmd(cmd) {
|
|
||||||
}
|
|
||||||
QString text() const override {
|
|
||||||
return _cmd;
|
|
||||||
}
|
|
||||||
void onClick(Qt::MouseButton button) const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
QString url() const override {
|
|
||||||
return _cmd;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
QString _cmd;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
static const QChar TextCommand(0x0010);
|
static const QChar TextCommand(0x0010);
|
||||||
enum TextCommands {
|
enum TextCommands {
|
||||||
TextCommandBold = 0x01,
|
TextCommandBold = 0x01,
|
||||||
|
|
|
@ -23,7 +23,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
|
||||||
#include "ui/toast/toast_manager.h"
|
#include "ui/toast/toast_manager.h"
|
||||||
#include "ui/toast/toast_widget.h"
|
#include "ui/toast/toast_widget.h"
|
||||||
#include "window.h"
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
namespace Toast {
|
namespace Toast {
|
||||||
|
@ -35,14 +34,12 @@ Instance::Instance(const Config &config, QWidget *widgetParent, const Private &)
|
||||||
_a_fade.start();
|
_a_fade.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Show(const Config &config) {
|
void Show(QWidget *parent, const Config &config) {
|
||||||
if (internal::Manager *manager = internal::Manager::instance()) {
|
if (auto manager = internal::Manager::instance(parent)) {
|
||||||
if (Window *window = App::wnd()) {
|
auto toast = std_::make_unique<Instance>(config, parent, Instance::Private());
|
||||||
auto toast = std_::make_unique<Instance>(config, window, Instance::Private());
|
|
||||||
manager->addToast(std_::move(toast));
|
manager->addToast(std_::move(toast));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void Instance::fadeOut() {
|
void Instance::fadeOut() {
|
||||||
_fadingOut = true;
|
_fadingOut = true;
|
||||||
|
|
|
@ -33,7 +33,7 @@ struct Config {
|
||||||
QString text;
|
QString text;
|
||||||
int durationMs = DefaultDuration;
|
int durationMs = DefaultDuration;
|
||||||
};
|
};
|
||||||
void Show(const Config &config);
|
void Show(QWidget *parent, const Config &config);
|
||||||
|
|
||||||
class Instance {
|
class Instance {
|
||||||
struct Private {
|
struct Private {
|
||||||
|
@ -57,7 +57,7 @@ private:
|
||||||
|
|
||||||
// ToastManager should reset _widget pointer if _widget is destroyed.
|
// ToastManager should reset _widget pointer if _widget is destroyed.
|
||||||
friend class internal::Manager;
|
friend class internal::Manager;
|
||||||
friend void Show(const Config &config);
|
friend void Show(QWidget *parent, const Config &config);
|
||||||
std_::unique_ptr<internal::Widget> _widget;
|
std_::unique_ptr<internal::Widget> _widget;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -21,30 +21,31 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
#include "ui/toast/toast_manager.h"
|
#include "ui/toast/toast_manager.h"
|
||||||
|
|
||||||
|
#include "application.h"
|
||||||
#include "ui/toast/toast_widget.h"
|
#include "ui/toast/toast_widget.h"
|
||||||
#include "window.h"
|
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
namespace Toast {
|
namespace Toast {
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
||||||
Manager *Manager::_instance = nullptr;
|
namespace {
|
||||||
|
|
||||||
Manager::Manager(QObject *parent) : QObject(parent) {
|
NeverFreedPointer<QMap<QObject*, Manager*>> _managers;
|
||||||
t_assert(_instance == nullptr);
|
|
||||||
_instance = this;
|
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
Manager::Manager(QWidget *parent) : QObject(parent) {
|
||||||
connect(&_hideTimer, SIGNAL(timeout()), this, SLOT(onHideTimeout()));
|
connect(&_hideTimer, SIGNAL(timeout()), this, SLOT(onHideTimeout()));
|
||||||
connect(parent, SIGNAL(resized()), this, SLOT(onParentResized()));
|
connect(parent, SIGNAL(resized()), this, SLOT(onParentResized()));
|
||||||
}
|
}
|
||||||
|
|
||||||
Manager *Manager::instance() {
|
Manager *Manager::instance(QWidget *parent) {
|
||||||
if (!_instance) {
|
_managers.makeIfNull();
|
||||||
if (Window *w = App::wnd()) {
|
auto i = _managers->constFind(parent);
|
||||||
_instance = new Manager(w);
|
if (i == _managers->cend()) {
|
||||||
|
i = _managers->insert(parent, new Manager(parent));
|
||||||
}
|
}
|
||||||
}
|
return i.value();
|
||||||
return _instance;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Manager::addToast(std_::unique_ptr<Instance> &&toast) {
|
void Manager::addToast(std_::unique_ptr<Instance> &&toast) {
|
||||||
|
@ -115,7 +116,7 @@ void Manager::startNextHideTimer() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Manager::~Manager() {
|
Manager::~Manager() {
|
||||||
_instance = nullptr;
|
_managers->remove(parent());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace internal
|
} // namespace internal
|
||||||
|
|
|
@ -34,7 +34,7 @@ public:
|
||||||
Manager(const Manager &other) = delete;
|
Manager(const Manager &other) = delete;
|
||||||
Manager &operator=(const Manager &other) = delete;
|
Manager &operator=(const Manager &other) = delete;
|
||||||
|
|
||||||
static Manager *instance();
|
static Manager *instance(QWidget *parent);
|
||||||
|
|
||||||
void addToast(std_::unique_ptr<Instance> &&toast);
|
void addToast(std_::unique_ptr<Instance> &&toast);
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ private slots:
|
||||||
void onToastWidgetParentResized();
|
void onToastWidgetParentResized();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Manager(QObject *parent);
|
Manager(QWidget *parent);
|
||||||
void startNextHideTimer();
|
void startNextHideTimer();
|
||||||
|
|
||||||
SingleTimer _hideTimer;
|
SingleTimer _hideTimer;
|
||||||
|
@ -56,8 +56,6 @@ private:
|
||||||
QMap<Widget*, Instance*> _toastByWidget;
|
QMap<Widget*, Instance*> _toastByWidget;
|
||||||
QList<Instance*> _toasts;
|
QList<Instance*> _toasts;
|
||||||
|
|
||||||
static Manager *_instance;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace internal
|
} // namespace internal
|
||||||
|
|
|
@ -21,7 +21,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
|
|
||||||
#include "application.h"
|
#include "application.h"
|
||||||
#include "window.h"
|
#include "mainwindow.h"
|
||||||
|
|
||||||
namespace Fonts {
|
namespace Fonts {
|
||||||
|
|
||||||
|
|
|
@ -156,12 +156,12 @@ void rtlupdate(int x, int y, int w, int h) { \
|
||||||
update(myrtlrect(x, y, w, h)); \
|
update(myrtlrect(x, y, w, h)); \
|
||||||
} \
|
} \
|
||||||
protected: \
|
protected: \
|
||||||
void enterEvent(QEvent *e) { \
|
void enterEvent(QEvent *e) override { \
|
||||||
TWidget *p(tparent()); \
|
TWidget *p(tparent()); \
|
||||||
if (p) p->leaveToChildEvent(e); \
|
if (p) p->leaveToChildEvent(e); \
|
||||||
return QWidget::enterEvent(e); \
|
return QWidget::enterEvent(e); \
|
||||||
} \
|
} \
|
||||||
void leaveEvent(QEvent *e) { \
|
void leaveEvent(QEvent *e) override { \
|
||||||
TWidget *p(tparent()); \
|
TWidget *p(tparent()); \
|
||||||
if (p) p->enterFromChildEvent(e); \
|
if (p) p->enterFromChildEvent(e); \
|
||||||
return QWidget::leaveEvent(e); \
|
return QWidget::leaveEvent(e); \
|
||||||
|
@ -172,8 +172,7 @@ class TWidget : public QWidget {
|
||||||
T_WIDGET
|
T_WIDGET
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
TWidget(QWidget *parent = nullptr) : QWidget(parent) {
|
||||||
TWidget(QWidget *parent = 0) : QWidget(parent) {
|
|
||||||
}
|
}
|
||||||
bool event(QEvent *e) {
|
bool event(QEvent *e) {
|
||||||
return QWidget::event(e);
|
return QWidget::event(e);
|
||||||
|
@ -185,8 +184,6 @@ public:
|
||||||
|
|
||||||
bool inFocusChain() const;
|
bool inFocusChain() const;
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
void myEnsureResized(QWidget *target);
|
void myEnsureResized(QWidget *target);
|
||||||
|
@ -229,3 +226,44 @@ private:
|
||||||
const char *_member;
|
const char *_member;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// A simple wrap around T* to explicitly state ownership
|
||||||
|
template <typename T>
|
||||||
|
class ChildWidget {
|
||||||
|
public:
|
||||||
|
ChildWidget(std::nullptr_t) : _widget(nullptr) {
|
||||||
|
}
|
||||||
|
// No default constructor, but constructors with at least
|
||||||
|
// one argument are simply make functions.
|
||||||
|
template <typename Parent, typename... Args>
|
||||||
|
ChildWidget(Parent &&parent, Args&&... args) : _widget(new T(std_::forward<Parent>(parent), std_::forward<Args>(args)...)) {
|
||||||
|
}
|
||||||
|
|
||||||
|
ChildWidget(const ChildWidget<T> &other) = delete;
|
||||||
|
ChildWidget<T> &operator=(const ChildWidget<T> &other) = delete;
|
||||||
|
|
||||||
|
ChildWidget<T> &operator=(std::nullptr_t) {
|
||||||
|
_widget = nullptr;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
ChildWidget<T> &operator=(T *widget) {
|
||||||
|
_widget = widget;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
T *operator->() const {
|
||||||
|
return _widget;
|
||||||
|
}
|
||||||
|
T &operator*() const {
|
||||||
|
return *_widget;
|
||||||
|
}
|
||||||
|
|
||||||
|
// So we can pass this pointer to methods like connect().
|
||||||
|
operator T*() const {
|
||||||
|
return _widget;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
T *_widget;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
|
@ -0,0 +1,393 @@
|
||||||
|
/*
|
||||||
|
This file is part of Telegram Desktop,
|
||||||
|
the official desktop version of Telegram 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.
|
||||||
|
|
||||||
|
In addition, as a special exception, the copyright holders give permission
|
||||||
|
to link the code of portions of this program with the OpenSSL library.
|
||||||
|
|
||||||
|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
*/
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "window/top_bar_widget.h"
|
||||||
|
|
||||||
|
#include "boxes/addcontactbox.h"
|
||||||
|
#include "boxes/confirmbox.h"
|
||||||
|
#include "mainwidget.h"
|
||||||
|
#include "shortcuts.h"
|
||||||
|
#include "lang.h"
|
||||||
|
#include "ui/buttons/peer_avatar_button.h"
|
||||||
|
#include "ui/flatbutton.h"
|
||||||
|
|
||||||
|
namespace Window {
|
||||||
|
|
||||||
|
TopBarWidget::TopBarWidget(MainWidget *w) : TWidget(w)
|
||||||
|
, a_over(0)
|
||||||
|
, _a_appearance(animation(this, &TopBarWidget::step_appearance))
|
||||||
|
, _selPeer(0)
|
||||||
|
, _selCount(0)
|
||||||
|
, _canDelete(false)
|
||||||
|
, _selStrLeft(-st::topBarButton.width / 2)
|
||||||
|
, _selStrWidth(0)
|
||||||
|
, _animating(false)
|
||||||
|
, _clearSelection(this, lang(lng_selected_clear), st::topBarButton)
|
||||||
|
, _forward(this, lang(lng_selected_forward), st::topBarActionButton)
|
||||||
|
, _delete(this, lang(lng_selected_delete), st::topBarActionButton)
|
||||||
|
, _selectionButtonsWidth(_clearSelection->width() + _forward->width() + _delete->width())
|
||||||
|
, _forwardDeleteWidth(qMax(_forward->textWidth(), _delete->textWidth()))
|
||||||
|
, _info(this, nullptr, st::infoButton)
|
||||||
|
, _edit(this, lang(lng_profile_edit_contact), st::topBarButton)
|
||||||
|
, _leaveGroup(this, lang(lng_profile_delete_and_exit), st::topBarButton)
|
||||||
|
, _addContact(this, lang(lng_profile_add_contact), st::topBarButton)
|
||||||
|
, _deleteContact(this, lang(lng_profile_delete_contact), st::topBarButton)
|
||||||
|
, _mediaType(this, lang(lng_media_type), st::topBarButton)
|
||||||
|
, _search(this, st::topBarSearch)
|
||||||
|
, _sideShadow(this, st::shadowColor) {
|
||||||
|
|
||||||
|
connect(_forward, SIGNAL(clicked()), this, SLOT(onForwardSelection()));
|
||||||
|
connect(_delete, SIGNAL(clicked()), this, SLOT(onDeleteSelection()));
|
||||||
|
connect(_clearSelection, SIGNAL(clicked()), this, SLOT(onClearSelection()));
|
||||||
|
connect(_info, SIGNAL(clicked()), this, SLOT(onInfoClicked()));
|
||||||
|
connect(_addContact, SIGNAL(clicked()), this, SLOT(onAddContact()));
|
||||||
|
connect(_deleteContact, SIGNAL(clicked()), this, SLOT(onDeleteContact()));
|
||||||
|
connect(_edit, SIGNAL(clicked()), this, SLOT(onEdit()));
|
||||||
|
connect(_leaveGroup, SIGNAL(clicked()), this, SLOT(onDeleteAndExit()));
|
||||||
|
connect(_search, SIGNAL(clicked()), this, SLOT(onSearch()));
|
||||||
|
|
||||||
|
setCursor(style::cur_pointer);
|
||||||
|
showAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onForwardSelection() {
|
||||||
|
if (App::main()) App::main()->forwardSelectedItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onDeleteSelection() {
|
||||||
|
if (App::main()) App::main()->deleteSelectedItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onClearSelection() {
|
||||||
|
if (App::main()) App::main()->clearSelectedItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onInfoClicked() {
|
||||||
|
PeerData *p = App::main() ? App::main()->historyPeer() : 0;
|
||||||
|
if (p) App::main()->showPeerProfile(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onAddContact() {
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0;
|
||||||
|
UserData *u = p ? p->asUser() : 0;
|
||||||
|
if (u) Ui::showLayer(new AddContactBox(u->firstName, u->lastName, u->phone.isEmpty() ? App::phoneFromSharedContact(peerToUser(u->id)) : u->phone));
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onEdit() {
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0;
|
||||||
|
if (p) {
|
||||||
|
if (p->isChannel()) {
|
||||||
|
Ui::showLayer(new EditChannelBox(p->asChannel()));
|
||||||
|
} else if (p->isChat()) {
|
||||||
|
Ui::showLayer(new EditNameTitleBox(p));
|
||||||
|
} else if (p->isUser()) {
|
||||||
|
Ui::showLayer(new AddContactBox(p->asUser()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onDeleteContact() {
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0;
|
||||||
|
UserData *u = p ? p->asUser() : 0;
|
||||||
|
if (u) {
|
||||||
|
ConfirmBox *box = new ConfirmBox(lng_sure_delete_contact(lt_contact, p->name), lang(lng_box_delete));
|
||||||
|
connect(box, SIGNAL(confirmed()), this, SLOT(onDeleteContactSure()));
|
||||||
|
Ui::showLayer(box);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onDeleteContactSure() {
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0;
|
||||||
|
UserData *u = p ? p->asUser() : 0;
|
||||||
|
if (u) {
|
||||||
|
Ui::showChatsList();
|
||||||
|
Ui::hideLayer();
|
||||||
|
MTP::send(MTPcontacts_DeleteContact(u->inputUser), App::main()->rpcDone(&MainWidget::deletedContact, u));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onDeleteAndExit() {
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0;
|
||||||
|
ChatData *c = p ? p->asChat() : 0;
|
||||||
|
if (c) {
|
||||||
|
ConfirmBox *box = new ConfirmBox(lng_sure_delete_and_exit(lt_group, p->name), lang(lng_box_leave), st::attentionBoxButton);
|
||||||
|
connect(box, SIGNAL(confirmed()), this, SLOT(onDeleteAndExitSure()));
|
||||||
|
Ui::showLayer(box);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onDeleteAndExitSure() {
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0;
|
||||||
|
ChatData *c = p ? p->asChat() : 0;
|
||||||
|
if (c) {
|
||||||
|
Ui::showChatsList();
|
||||||
|
Ui::hideLayer();
|
||||||
|
MTP::send(MTPmessages_DeleteChatUser(c->inputChat, App::self()->inputUser), App::main()->rpcDone(&MainWidget::deleteHistoryAfterLeave, p), App::main()->rpcFail(&MainWidget::leaveChatFailed, p));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::onSearch() {
|
||||||
|
Shortcuts::launch(qsl("search"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::enterEvent(QEvent *e) {
|
||||||
|
a_over.start(1);
|
||||||
|
_a_appearance.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::enterFromChildEvent(QEvent *e) {
|
||||||
|
a_over.start(1);
|
||||||
|
_a_appearance.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::leaveEvent(QEvent *e) {
|
||||||
|
a_over.start(0);
|
||||||
|
_a_appearance.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::leaveToChildEvent(QEvent *e) {
|
||||||
|
a_over.start(0);
|
||||||
|
_a_appearance.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::step_appearance(float64 ms, bool timer) {
|
||||||
|
float64 dt = ms / st::topBarDuration;
|
||||||
|
if (dt >= 1) {
|
||||||
|
_a_appearance.stop();
|
||||||
|
a_over.finish();
|
||||||
|
} else {
|
||||||
|
a_over.update(dt, anim::linear);
|
||||||
|
}
|
||||||
|
if (timer) update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::paintEvent(QPaintEvent *e) {
|
||||||
|
QPainter p(this);
|
||||||
|
|
||||||
|
if (e->rect().top() < st::topBarHeight) { // optimize shadow-only drawing
|
||||||
|
p.fillRect(QRect(0, 0, width(), st::topBarHeight), st::topBarBG->b);
|
||||||
|
if (_clearSelection->isHidden()) {
|
||||||
|
p.save();
|
||||||
|
main()->paintTopBar(p, a_over.current(), _info->isHidden() ? 0 : _info->width());
|
||||||
|
p.restore();
|
||||||
|
} else {
|
||||||
|
p.setFont(st::linkFont->f);
|
||||||
|
p.setPen(st::btnDefLink.color->p);
|
||||||
|
p.drawText(_selStrLeft, st::topBarButton.textTop + st::linkFont->ascent, _selStr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::mousePressEvent(QMouseEvent *e) {
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0;
|
||||||
|
if (e->button() == Qt::LeftButton && e->pos().y() < st::topBarHeight && (p || !_selCount)) {
|
||||||
|
emit clicked();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::resizeEvent(QResizeEvent *e) {
|
||||||
|
int32 r = width();
|
||||||
|
if (!_forward->isHidden() || !_delete->isHidden()) {
|
||||||
|
int32 fullW = r - (_selectionButtonsWidth + (_selStrWidth - st::topBarButton.width) + st::topBarActionSkip);
|
||||||
|
int32 selectedClearWidth = st::topBarButton.width, forwardDeleteWidth = st::topBarActionButton.width - _forwardDeleteWidth, skip = st::topBarActionSkip;
|
||||||
|
while (fullW < 0) {
|
||||||
|
int fit = 0;
|
||||||
|
if (selectedClearWidth < -2 * (st::topBarMinPadding + 1)) {
|
||||||
|
fullW += 4;
|
||||||
|
selectedClearWidth += 2;
|
||||||
|
} else if (selectedClearWidth < -2 * st::topBarMinPadding) {
|
||||||
|
fullW += (-2 * st::topBarMinPadding - selectedClearWidth) * 2;
|
||||||
|
selectedClearWidth = -2 * st::topBarMinPadding;
|
||||||
|
} else {
|
||||||
|
++fit;
|
||||||
|
}
|
||||||
|
if (fullW >= 0) break;
|
||||||
|
|
||||||
|
if (forwardDeleteWidth > 2 * (st::topBarMinPadding + 1)) {
|
||||||
|
fullW += 4;
|
||||||
|
forwardDeleteWidth -= 2;
|
||||||
|
} else if (forwardDeleteWidth > 2 * st::topBarMinPadding) {
|
||||||
|
fullW += (forwardDeleteWidth - 2 * st::topBarMinPadding) * 2;
|
||||||
|
forwardDeleteWidth = 2 * st::topBarMinPadding;
|
||||||
|
} else {
|
||||||
|
++fit;
|
||||||
|
}
|
||||||
|
if (fullW >= 0) break;
|
||||||
|
|
||||||
|
if (skip > st::topBarMinPadding) {
|
||||||
|
--skip;
|
||||||
|
++fullW;
|
||||||
|
} else {
|
||||||
|
++fit;
|
||||||
|
}
|
||||||
|
if (fullW >= 0 || fit >= 3) break;
|
||||||
|
}
|
||||||
|
_clearSelection->setWidth(selectedClearWidth);
|
||||||
|
_forward->setWidth(_forwardDeleteWidth + forwardDeleteWidth);
|
||||||
|
_delete->setWidth(_forwardDeleteWidth + forwardDeleteWidth);
|
||||||
|
_selStrLeft = -selectedClearWidth / 2;
|
||||||
|
|
||||||
|
int32 availX = _selStrLeft + _selStrWidth, availW = r - (_clearSelection->width() + selectedClearWidth / 2) - availX;
|
||||||
|
if (_forward->isHidden()) {
|
||||||
|
_delete->move(availX + (availW - _delete->width()) / 2, (st::topBarHeight - _forward->height()) / 2);
|
||||||
|
} else if (_delete->isHidden()) {
|
||||||
|
_forward->move(availX + (availW - _forward->width()) / 2, (st::topBarHeight - _forward->height()) / 2);
|
||||||
|
} else {
|
||||||
|
_forward->move(availX + (availW - _forward->width() - _delete->width() - skip) / 2, (st::topBarHeight - _forward->height()) / 2);
|
||||||
|
_delete->move(availX + (availW + _forward->width() - _delete->width() + skip) / 2, (st::topBarHeight - _forward->height()) / 2);
|
||||||
|
}
|
||||||
|
_clearSelection->move(r -= _clearSelection->width(), 0);
|
||||||
|
}
|
||||||
|
if (!_info->isHidden()) _info->move(r -= _info->width(), 0);
|
||||||
|
if (!_deleteContact->isHidden()) _deleteContact->move(r -= _deleteContact->width(), 0);
|
||||||
|
if (!_leaveGroup->isHidden()) _leaveGroup->move(r -= _leaveGroup->width(), 0);
|
||||||
|
if (!_edit->isHidden()) _edit->move(r -= _edit->width(), 0);
|
||||||
|
if (!_addContact->isHidden()) _addContact->move(r -= _addContact->width(), 0);
|
||||||
|
if (!_mediaType->isHidden()) _mediaType->move(r -= _mediaType->width(), 0);
|
||||||
|
_search->move(width() - (_info->isHidden() ? st::topBarForwardPadding.right() : _info->width()) - _search->width(), 0);
|
||||||
|
|
||||||
|
_sideShadow->resize(st::lineWidth, height());
|
||||||
|
_sideShadow->moveToLeft(0, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::startAnim() {
|
||||||
|
_info->hide();
|
||||||
|
_edit->hide();
|
||||||
|
_leaveGroup->hide();
|
||||||
|
_addContact->hide();
|
||||||
|
_deleteContact->hide();
|
||||||
|
_clearSelection->hide();
|
||||||
|
_delete->hide();
|
||||||
|
_forward->hide();
|
||||||
|
_mediaType->hide();
|
||||||
|
_search->hide();
|
||||||
|
|
||||||
|
_animating = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::stopAnim() {
|
||||||
|
_animating = false;
|
||||||
|
_sideShadow->setVisible(!Adaptive::OneColumn());
|
||||||
|
showAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::showAll() {
|
||||||
|
if (_animating) {
|
||||||
|
resizeEvent(0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0, *h = App::main() ? App::main()->historyPeer() : 0, *o = App::main() ? App::main()->overviewPeer() : 0;
|
||||||
|
if (p && (p->isChat() || (p->isUser() && (p->asUser()->contact >= 0 || !App::phoneFromSharedContact(peerToUser(p->id)).isEmpty())))) {
|
||||||
|
if (p->isChat()) {
|
||||||
|
if (p->asChat()->canEdit()) {
|
||||||
|
_edit->show();
|
||||||
|
} else {
|
||||||
|
_edit->hide();
|
||||||
|
}
|
||||||
|
_leaveGroup->show();
|
||||||
|
_addContact->hide();
|
||||||
|
_deleteContact->hide();
|
||||||
|
} else if (p->asUser()->contact > 0) {
|
||||||
|
_edit->show();
|
||||||
|
_leaveGroup->hide();
|
||||||
|
_addContact->hide();
|
||||||
|
_deleteContact->show();
|
||||||
|
} else {
|
||||||
|
_edit->hide();
|
||||||
|
_leaveGroup->hide();
|
||||||
|
_addContact->show();
|
||||||
|
_deleteContact->hide();
|
||||||
|
}
|
||||||
|
_clearSelection->hide();
|
||||||
|
_info->hide();
|
||||||
|
_delete->hide();
|
||||||
|
_forward->hide();
|
||||||
|
_mediaType->hide();
|
||||||
|
_search->hide();
|
||||||
|
} else {
|
||||||
|
if (p && p->isChannel() && (p->asChannel()->amCreator() || (p->isMegagroup() && p->asChannel()->amEditor()))) {
|
||||||
|
_edit->show();
|
||||||
|
} else {
|
||||||
|
_edit->hide();
|
||||||
|
}
|
||||||
|
_leaveGroup->hide();
|
||||||
|
_addContact->hide();
|
||||||
|
_deleteContact->hide();
|
||||||
|
if (!p && _selCount) {
|
||||||
|
_clearSelection->show();
|
||||||
|
if (_canDelete) {
|
||||||
|
_delete->show();
|
||||||
|
} else {
|
||||||
|
_delete->hide();
|
||||||
|
}
|
||||||
|
_forward->show();
|
||||||
|
_mediaType->hide();
|
||||||
|
} else {
|
||||||
|
_clearSelection->hide();
|
||||||
|
_delete->hide();
|
||||||
|
_forward->hide();
|
||||||
|
if (App::main() && App::main()->mediaTypeSwitch()) {
|
||||||
|
_mediaType->show();
|
||||||
|
} else {
|
||||||
|
_mediaType->hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (h && !o && !p && _clearSelection->isHidden()) {
|
||||||
|
if (Adaptive::OneColumn()) {
|
||||||
|
_info->setPeer(h);
|
||||||
|
_info->show();
|
||||||
|
} else {
|
||||||
|
_info->hide();
|
||||||
|
}
|
||||||
|
_search->show();
|
||||||
|
} else {
|
||||||
|
_search->hide();
|
||||||
|
_info->hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
_sideShadow->setVisible(!Adaptive::OneColumn());
|
||||||
|
resizeEvent(nullptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::showSelected(uint32 selCount, bool canDelete) {
|
||||||
|
PeerData *p = App::main() ? App::main()->profilePeer() : 0;
|
||||||
|
_selPeer = App::main()->overviewPeer() ? App::main()->overviewPeer() : App::main()->peer();
|
||||||
|
_selCount = selCount;
|
||||||
|
_canDelete = canDelete;
|
||||||
|
_selStr = (_selCount > 0) ? lng_selected_count(lt_count, _selCount) : QString();
|
||||||
|
_selStrWidth = st::btnDefLink.font->width(_selStr);
|
||||||
|
setCursor((!p && _selCount) ? style::cur_default : style::cur_pointer);
|
||||||
|
showAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TopBarWidget::updateAdaptiveLayout() {
|
||||||
|
showAll();
|
||||||
|
}
|
||||||
|
|
||||||
|
FlatButton *TopBarWidget::mediaTypeButton() {
|
||||||
|
return _mediaType;
|
||||||
|
}
|
||||||
|
|
||||||
|
MainWidget *TopBarWidget::main() {
|
||||||
|
return static_cast<MainWidget*>(parentWidget());
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Window
|
|
@ -0,0 +1,114 @@
|
||||||
|
/*
|
||||||
|
This file is part of Telegram Desktop,
|
||||||
|
the official desktop version of Telegram 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.
|
||||||
|
|
||||||
|
In addition, as a special exception, the copyright holders give permission
|
||||||
|
to link the code of portions of this program with the OpenSSL library.
|
||||||
|
|
||||||
|
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
|
||||||
|
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "ui/twidget.h"
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class PeerAvatarButton;
|
||||||
|
} // namespace Ui
|
||||||
|
class FlatButton;
|
||||||
|
class IconedButton;
|
||||||
|
class PlainShadow;
|
||||||
|
|
||||||
|
namespace Window {
|
||||||
|
|
||||||
|
class TopBarWidget : public TWidget {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
TopBarWidget(MainWidget *w);
|
||||||
|
|
||||||
|
void enterEvent(QEvent *e) override;
|
||||||
|
void enterFromChildEvent(QEvent *e) override;
|
||||||
|
void leaveEvent(QEvent *e) override;
|
||||||
|
void leaveToChildEvent(QEvent *e) override;
|
||||||
|
void paintEvent(QPaintEvent *e) override;
|
||||||
|
void mousePressEvent(QMouseEvent *e) override;
|
||||||
|
void resizeEvent(QResizeEvent *e) override;
|
||||||
|
|
||||||
|
void step_appearance(float64 ms, bool timer);
|
||||||
|
void enableShadow(bool enable = true);
|
||||||
|
|
||||||
|
void startAnim();
|
||||||
|
void stopAnim();
|
||||||
|
void showAll();
|
||||||
|
void showSelected(uint32 selCount, bool canDelete = false);
|
||||||
|
|
||||||
|
void updateAdaptiveLayout();
|
||||||
|
|
||||||
|
FlatButton *mediaTypeButton();
|
||||||
|
|
||||||
|
void grabStart() override {
|
||||||
|
_sideShadow->hide();
|
||||||
|
}
|
||||||
|
void grabFinish() override {
|
||||||
|
_sideShadow->setVisible(!Adaptive::OneColumn());
|
||||||
|
}
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
|
||||||
|
void onForwardSelection();
|
||||||
|
void onDeleteSelection();
|
||||||
|
void onClearSelection();
|
||||||
|
void onInfoClicked();
|
||||||
|
void onAddContact();
|
||||||
|
void onEdit();
|
||||||
|
void onDeleteContact();
|
||||||
|
void onDeleteContactSure();
|
||||||
|
void onDeleteAndExit();
|
||||||
|
void onDeleteAndExitSure();
|
||||||
|
void onSearch();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
|
||||||
|
void clicked();
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
MainWidget *main();
|
||||||
|
anim::fvalue a_over;
|
||||||
|
Animation _a_appearance;
|
||||||
|
|
||||||
|
PeerData *_selPeer = nullptr;
|
||||||
|
uint32 _selCount;
|
||||||
|
bool _canDelete;
|
||||||
|
QString _selStr;
|
||||||
|
int32 _selStrLeft, _selStrWidth;
|
||||||
|
|
||||||
|
bool _animating;
|
||||||
|
|
||||||
|
ChildWidget<FlatButton> _clearSelection;
|
||||||
|
ChildWidget<FlatButton> _forward, _delete;
|
||||||
|
int _selectionButtonsWidth, _forwardDeleteWidth;
|
||||||
|
|
||||||
|
ChildWidget<Ui::PeerAvatarButton> _info;
|
||||||
|
ChildWidget<FlatButton> _edit, _leaveGroup, _addContact, _deleteContact;
|
||||||
|
ChildWidget<FlatButton> _mediaType;
|
||||||
|
|
||||||
|
ChildWidget<IconedButton> _search;
|
||||||
|
|
||||||
|
ChildWidget<PlainShadow> _sideShadow;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace Window
|
|
@ -348,6 +348,10 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_mainwindow.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Debug\moc_mediaview.cpp">
|
<ClCompile Include="GeneratedFiles\Debug\moc_mediaview.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
@ -435,6 +439,10 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_top_bar_widget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Debug\moc_twidget.cpp">
|
<ClCompile Include="GeneratedFiles\Debug\moc_twidget.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
@ -443,10 +451,6 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Debug\moc_window.cpp">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\Deploy\moc_aboutbox.cpp">
|
<ClCompile Include="GeneratedFiles\Deploy\moc_aboutbox.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
@ -631,6 +635,10 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Deploy\moc_mainwindow.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Deploy\moc_mediaview.cpp">
|
<ClCompile Include="GeneratedFiles\Deploy\moc_mediaview.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
@ -718,6 +726,10 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Deploy\moc_top_bar_widget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Deploy\moc_twidget.cpp">
|
<ClCompile Include="GeneratedFiles\Deploy\moc_twidget.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
@ -726,10 +738,6 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Deploy\moc_window.cpp">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\lang_auto.cpp" />
|
<ClCompile Include="GeneratedFiles\lang_auto.cpp" />
|
||||||
<ClCompile Include="GeneratedFiles\numbers.cpp" />
|
<ClCompile Include="GeneratedFiles\numbers.cpp" />
|
||||||
<ClCompile Include="GeneratedFiles\qrc_telegram.cpp">
|
<ClCompile Include="GeneratedFiles\qrc_telegram.cpp">
|
||||||
|
@ -940,6 +948,10 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_mainwindow.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Release\moc_mediaview.cpp">
|
<ClCompile Include="GeneratedFiles\Release\moc_mediaview.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
@ -1027,6 +1039,10 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_top_bar_widget.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Release\moc_twidget.cpp">
|
<ClCompile Include="GeneratedFiles\Release\moc_twidget.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
@ -1035,17 +1051,12 @@
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Release\moc_window.cpp">
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
|
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\style_auto.cpp" />
|
<ClCompile Include="GeneratedFiles\style_auto.cpp" />
|
||||||
<ClCompile Include="SourceFiles\apiwrap.cpp" />
|
<ClCompile Include="SourceFiles\apiwrap.cpp" />
|
||||||
<ClCompile Include="SourceFiles\app.cpp" />
|
<ClCompile Include="SourceFiles\app.cpp" />
|
||||||
<ClCompile Include="SourceFiles\application.cpp" />
|
<ClCompile Include="SourceFiles\application.cpp" />
|
||||||
<ClCompile Include="SourceFiles\audio.cpp" />
|
<ClCompile Include="SourceFiles\audio.cpp" />
|
||||||
<ClCompile Include="SourceFiles\autoupdater.cpp" />
|
<ClCompile Include="SourceFiles\autoupdater.cpp" />
|
||||||
<ClCompile Include="SourceFiles\basic_types.cpp" />
|
|
||||||
<ClCompile Include="SourceFiles\boxes\aboutbox.cpp" />
|
<ClCompile Include="SourceFiles\boxes\aboutbox.cpp" />
|
||||||
<ClCompile Include="SourceFiles\boxes\abstractbox.cpp" />
|
<ClCompile Include="SourceFiles\boxes\abstractbox.cpp" />
|
||||||
<ClCompile Include="SourceFiles\boxes\addcontactbox.cpp" />
|
<ClCompile Include="SourceFiles\boxes\addcontactbox.cpp" />
|
||||||
|
@ -1063,6 +1074,9 @@
|
||||||
<ClCompile Include="SourceFiles\boxes\sessionsbox.cpp" />
|
<ClCompile Include="SourceFiles\boxes\sessionsbox.cpp" />
|
||||||
<ClCompile Include="SourceFiles\boxes\stickersetbox.cpp" />
|
<ClCompile Include="SourceFiles\boxes\stickersetbox.cpp" />
|
||||||
<ClCompile Include="SourceFiles\boxes\usernamebox.cpp" />
|
<ClCompile Include="SourceFiles\boxes\usernamebox.cpp" />
|
||||||
|
<ClCompile Include="SourceFiles\core\basic_types.cpp" />
|
||||||
|
<ClCompile Include="SourceFiles\core\click_handler.cpp" />
|
||||||
|
<ClCompile Include="SourceFiles\core\click_handler_types.cpp" />
|
||||||
<ClCompile Include="SourceFiles\dialogswidget.cpp" />
|
<ClCompile Include="SourceFiles\dialogswidget.cpp" />
|
||||||
<ClCompile Include="SourceFiles\dialogs\dialogs_indexed_list.cpp" />
|
<ClCompile Include="SourceFiles\dialogs\dialogs_indexed_list.cpp" />
|
||||||
<ClCompile Include="SourceFiles\dialogs\dialogs_layout.cpp" />
|
<ClCompile Include="SourceFiles\dialogs\dialogs_layout.cpp" />
|
||||||
|
@ -1107,6 +1121,7 @@
|
||||||
<ClCompile Include="SourceFiles\mtproto\scheme_auto.cpp" />
|
<ClCompile Include="SourceFiles\mtproto\scheme_auto.cpp" />
|
||||||
<ClCompile Include="SourceFiles\mtproto\session.cpp" />
|
<ClCompile Include="SourceFiles\mtproto\session.cpp" />
|
||||||
<ClCompile Include="SourceFiles\overviewwidget.cpp" />
|
<ClCompile Include="SourceFiles\overviewwidget.cpp" />
|
||||||
|
<ClCompile Include="SourceFiles\overview\overview_layout.cpp" />
|
||||||
<ClCompile Include="SourceFiles\passcodewidget.cpp" />
|
<ClCompile Include="SourceFiles\passcodewidget.cpp" />
|
||||||
<ClCompile Include="SourceFiles\playerwidget.cpp" />
|
<ClCompile Include="SourceFiles\playerwidget.cpp" />
|
||||||
<ClCompile Include="SourceFiles\profilewidget.cpp" />
|
<ClCompile Include="SourceFiles\profilewidget.cpp" />
|
||||||
|
@ -1160,7 +1175,8 @@
|
||||||
<ClCompile Include="SourceFiles\ui\toast\toast_manager.cpp" />
|
<ClCompile Include="SourceFiles\ui\toast\toast_manager.cpp" />
|
||||||
<ClCompile Include="SourceFiles\ui\toast\toast_widget.cpp" />
|
<ClCompile Include="SourceFiles\ui\toast\toast_widget.cpp" />
|
||||||
<ClCompile Include="SourceFiles\ui\twidget.cpp" />
|
<ClCompile Include="SourceFiles\ui\twidget.cpp" />
|
||||||
<ClCompile Include="SourceFiles\window.cpp" />
|
<ClCompile Include="SourceFiles\mainwindow.cpp" />
|
||||||
|
<ClCompile Include="SourceFiles\window\top_bar_widget.cpp" />
|
||||||
<ClCompile Include="ThirdParty\minizip\zip.c">
|
<ClCompile Include="ThirdParty\minizip\zip.c">
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||||
|
@ -1213,25 +1229,28 @@
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_tcp.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_tcp.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
<CustomBuild Include="SourceFiles\basic_types.h">
|
<CustomBuild Include="SourceFiles\core\basic_types.h">
|
||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing basic_types.h...</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing basic_types.h...</Message>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/basic_types.h" -DAL_LIBTYPE_STATIC -DCUSTOM_API_ID -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/core/basic_types.h" -DAL_LIBTYPE_STATIC -DCUSTOM_API_ID -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing basic_types.h...</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing basic_types.h...</Message>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/basic_types.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl_debug\Debug\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/core/basic_types.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl_debug\Debug\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing basic_types.h...</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing basic_types.h...</Message>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/basic_types.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/core/basic_types.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<ClInclude Include="SourceFiles\core\click_handler.h" />
|
||||||
|
<ClInclude Include="SourceFiles\core\click_handler_types.h" />
|
||||||
<ClInclude Include="SourceFiles\dialogs\dialogs_common.h" />
|
<ClInclude Include="SourceFiles\dialogs\dialogs_common.h" />
|
||||||
<ClInclude Include="SourceFiles\dialogs\dialogs_indexed_list.h" />
|
<ClInclude Include="SourceFiles\dialogs\dialogs_indexed_list.h" />
|
||||||
<ClInclude Include="SourceFiles\dialogs\dialogs_layout.h" />
|
<ClInclude Include="SourceFiles\dialogs\dialogs_layout.h" />
|
||||||
<ClInclude Include="SourceFiles\dialogs\dialogs_list.h" />
|
<ClInclude Include="SourceFiles\dialogs\dialogs_list.h" />
|
||||||
<ClInclude Include="SourceFiles\dialogs\dialogs_row.h" />
|
<ClInclude Include="SourceFiles\dialogs\dialogs_row.h" />
|
||||||
|
<ClInclude Include="SourceFiles\history\history_common.h" />
|
||||||
<ClInclude Include="SourceFiles\inline_bots\inline_bot_layout_internal.h" />
|
<ClInclude Include="SourceFiles\inline_bots\inline_bot_layout_internal.h" />
|
||||||
<ClInclude Include="SourceFiles\inline_bots\inline_bot_layout_item.h" />
|
<ClInclude Include="SourceFiles\inline_bots\inline_bot_layout_item.h" />
|
||||||
<ClInclude Include="SourceFiles\inline_bots\inline_bot_result.h" />
|
<ClInclude Include="SourceFiles\inline_bots\inline_bot_result.h" />
|
||||||
|
@ -1339,6 +1358,7 @@
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/session.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/session.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<ClInclude Include="SourceFiles\overview\overview_layout.h" />
|
||||||
<ClInclude Include="SourceFiles\serialize\serialize_common.h" />
|
<ClInclude Include="SourceFiles\serialize\serialize_common.h" />
|
||||||
<ClInclude Include="SourceFiles\serialize\serialize_document.h" />
|
<ClInclude Include="SourceFiles\serialize\serialize_document.h" />
|
||||||
<ClInclude Include="SourceFiles\shortcuts.h" />
|
<ClInclude Include="SourceFiles\shortcuts.h" />
|
||||||
|
@ -1520,22 +1540,36 @@
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
<ClInclude Include="SourceFiles\ui\toast\toast_widget.h" />
|
<ClInclude Include="SourceFiles\ui\toast\toast_widget.h" />
|
||||||
|
<CustomBuild Include="SourceFiles\window\top_bar_widget.h">
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing top_bar_widget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/window/top_bar_widget.h" -DAL_LIBTYPE_STATIC -DCUSTOM_API_ID -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing top_bar_widget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/window/top_bar_widget.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl_debug\Debug\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing top_bar_widget.h...</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/window/top_bar_widget.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
|
</CustomBuild>
|
||||||
<ClInclude Include="ThirdParty\minizip\crypt.h" />
|
<ClInclude Include="ThirdParty\minizip\crypt.h" />
|
||||||
<ClInclude Include="ThirdParty\minizip\ioapi.h" />
|
<ClInclude Include="ThirdParty\minizip\ioapi.h" />
|
||||||
<ClInclude Include="ThirdParty\minizip\zip.h" />
|
<ClInclude Include="ThirdParty\minizip\zip.h" />
|
||||||
<CustomBuild Include="SourceFiles\window.h">
|
<CustomBuild Include="SourceFiles\mainwindow.h">
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing window.h...</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing mainwindow.h...</Message>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl_debug\Debug\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-fstdafx.h" "-f../../SourceFiles/window.h"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mainwindow.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl_debug\Debug\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing window.h...</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing mainwindow.h...</Message>
|
||||||
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing window.h...</Message>
|
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing mainwindow.h...</Message>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-fstdafx.h" "-f../../SourceFiles/window.h"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mainwindow.h" -DAL_LIBTYPE_STATIC -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DAL_LIBTYPE_STATIC -DCUSTOM_API_ID -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-fstdafx.h" "-f../../SourceFiles/window.h"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mainwindow.h" -DAL_LIBTYPE_STATIC -DCUSTOM_API_ID -DUNICODE -DWIN32 -DWIN64 -DHAVE_STDINT_H -DZLIB_WINAPI -DQT_NO_DEBUG -DNDEBUG -D_SCL_SECURE_NO_WARNINGS "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\openssl\Release\include" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\breakpad\src" "-I.\ThirdParty\minizip" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui"</Command>
|
||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
<CustomBuild Include="Resources\style_classes.txt">
|
<CustomBuild Include="Resources\style_classes.txt">
|
||||||
<Outputs>.\GeneratedFiles\style_classes.h</Outputs>
|
<Outputs>.\GeneratedFiles\style_classes.h</Outputs>
|
||||||
|
|
|
@ -67,6 +67,18 @@
|
||||||
<Filter Include="ui\buttons">
|
<Filter Include="ui\buttons">
|
||||||
<UniqueIdentifier>{24292a88-6707-4070-b2d2-8b53acd5cdd0}</UniqueIdentifier>
|
<UniqueIdentifier>{24292a88-6707-4070-b2d2-8b53acd5cdd0}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="core">
|
||||||
|
<UniqueIdentifier>{162feb92-08a4-4abf-9936-79c389d4fcb9}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="history">
|
||||||
|
<UniqueIdentifier>{39b5a449-928d-4add-9610-95c03878d52f}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="window">
|
||||||
|
<UniqueIdentifier>{0192d4a5-ecf0-4076-937a-d3a08443e543}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="overview">
|
||||||
|
<UniqueIdentifier>{ddcc5634-90e7-4815-ba86-a3db539f4774}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="SourceFiles\main.cpp">
|
<ClCompile Include="SourceFiles\main.cpp">
|
||||||
|
@ -99,9 +111,6 @@
|
||||||
<ClCompile Include="SourceFiles\app.cpp">
|
<ClCompile Include="SourceFiles\app.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="SourceFiles\window.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="SourceFiles\dialogswidget.cpp">
|
<ClCompile Include="SourceFiles\dialogswidget.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -177,15 +186,6 @@
|
||||||
<ClCompile Include="SourceFiles\langloaderplain.cpp">
|
<ClCompile Include="SourceFiles\langloaderplain.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="GeneratedFiles\Deploy\moc_window.cpp">
|
|
||||||
<Filter>Generated Files\Deploy</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\Debug\moc_window.cpp">
|
|
||||||
<Filter>Generated Files\Debug</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\Release\moc_window.cpp">
|
|
||||||
<Filter>Generated Files\Release</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\Deploy\moc_title.cpp">
|
<ClCompile Include="GeneratedFiles\Deploy\moc_title.cpp">
|
||||||
<Filter>Generated Files\Deploy</Filter>
|
<Filter>Generated Files\Deploy</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -825,18 +825,6 @@
|
||||||
<ClCompile Include="GeneratedFiles\Release\moc_facade.cpp">
|
<ClCompile Include="GeneratedFiles\Release\moc_facade.cpp">
|
||||||
<Filter>Generated Files\Release</Filter>
|
<Filter>Generated Files\Release</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="SourceFiles\basic_types.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\Deploy\moc_basic_types.cpp">
|
|
||||||
<Filter>Generated Files\Deploy</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\Debug\moc_basic_types.cpp">
|
|
||||||
<Filter>Generated Files\Debug</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="GeneratedFiles\Release\moc_basic_types.cpp">
|
|
||||||
<Filter>Generated Files\Release</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="SourceFiles\inline_bots\inline_bot_result.cpp">
|
<ClCompile Include="SourceFiles\inline_bots\inline_bot_result.cpp">
|
||||||
<Filter>inline_bots</Filter>
|
<Filter>inline_bots</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
@ -1035,6 +1023,51 @@
|
||||||
<ClCompile Include="SourceFiles\ui\buttons\peer_avatar_button.cpp">
|
<ClCompile Include="SourceFiles\ui\buttons\peer_avatar_button.cpp">
|
||||||
<Filter>ui\buttons</Filter>
|
<Filter>ui\buttons</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="SourceFiles\window\top_bar_widget.cpp">
|
||||||
|
<Filter>window</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Deploy\moc_top_bar_widget.cpp">
|
||||||
|
<Filter>Generated Files\Deploy</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Deploy\moc_mainwindow.cpp">
|
||||||
|
<Filter>Generated Files\Deploy</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_mainwindow.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_mainwindow.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SourceFiles\mainwindow.cpp">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_top_bar_widget.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_top_bar_widget.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SourceFiles\core\click_handler.cpp">
|
||||||
|
<Filter>core</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SourceFiles\core\basic_types.cpp">
|
||||||
|
<Filter>core</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Deploy\moc_basic_types.cpp">
|
||||||
|
<Filter>Generated Files\Deploy</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Debug\moc_basic_types.cpp">
|
||||||
|
<Filter>Generated Files\Debug</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="GeneratedFiles\Release\moc_basic_types.cpp">
|
||||||
|
<Filter>Generated Files\Release</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SourceFiles\core\click_handler_types.cpp">
|
||||||
|
<Filter>core</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="SourceFiles\overview\overview_layout.cpp">
|
||||||
|
<Filter>overview</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="SourceFiles\stdafx.h">
|
<ClInclude Include="SourceFiles\stdafx.h">
|
||||||
|
@ -1175,6 +1208,18 @@
|
||||||
<ClInclude Include="SourceFiles\ui\buttons\peer_avatar_button.h">
|
<ClInclude Include="SourceFiles\ui\buttons\peer_avatar_button.h">
|
||||||
<Filter>ui\buttons</Filter>
|
<Filter>ui\buttons</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="SourceFiles\history\history_common.h">
|
||||||
|
<Filter>history</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SourceFiles\core\click_handler.h">
|
||||||
|
<Filter>core</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SourceFiles\core\click_handler_types.h">
|
||||||
|
<Filter>core</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="SourceFiles\overview\overview_layout.h">
|
||||||
|
<Filter>overview</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<CustomBuild Include="SourceFiles\application.h">
|
<CustomBuild Include="SourceFiles\application.h">
|
||||||
|
@ -1183,9 +1228,6 @@
|
||||||
<CustomBuild Include="SourceFiles\mainwidget.h">
|
<CustomBuild Include="SourceFiles\mainwidget.h">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
<CustomBuild Include="SourceFiles\window.h">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</CustomBuild>
|
|
||||||
<CustomBuild Include="SourceFiles\dialogswidget.h">
|
<CustomBuild Include="SourceFiles\dialogswidget.h">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
@ -1378,9 +1420,6 @@
|
||||||
<CustomBuild Include="SourceFiles\facades.h">
|
<CustomBuild Include="SourceFiles\facades.h">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
<CustomBuild Include="SourceFiles\basic_types.h">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</CustomBuild>
|
|
||||||
<CustomBuild Include="SourceFiles\ui\animation.h">
|
<CustomBuild Include="SourceFiles\ui\animation.h">
|
||||||
<Filter>ui</Filter>
|
<Filter>ui</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
@ -1417,6 +1456,15 @@
|
||||||
<CustomBuild Include="SourceFiles\ui\toast\toast_manager.h">
|
<CustomBuild Include="SourceFiles\ui\toast\toast_manager.h">
|
||||||
<Filter>ui\toast</Filter>
|
<Filter>ui\toast</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="SourceFiles\window\top_bar_widget.h">
|
||||||
|
<Filter>window</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="SourceFiles\mainwindow.h">
|
||||||
|
<Filter>Source Files</Filter>
|
||||||
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="SourceFiles\core\basic_types.h">
|
||||||
|
<Filter>core</Filter>
|
||||||
|
</CustomBuild>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Resources\langs\lang_it.strings">
|
<None Include="Resources\langs\lang_it.strings">
|
||||||
|
|
|
@ -162,7 +162,7 @@
|
||||||
5FC914F652D1B16FDA8F0634 /* moc_contactsbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 26083D8E535AFF927591E1A5 /* moc_contactsbox.cpp */; settings = {ATTRIBUTES = (); }; };
|
5FC914F652D1B16FDA8F0634 /* moc_contactsbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 26083D8E535AFF927591E1A5 /* moc_contactsbox.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
60CB4898955209B665E7B07D /* moc_twidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 55A654A2EE8554FF062742B8 /* moc_twidget.cpp */; settings = {ATTRIBUTES = (); }; };
|
60CB4898955209B665E7B07D /* moc_twidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 55A654A2EE8554FF062742B8 /* moc_twidget.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9742F24EE18EA44D52824F1E /* CoreServices.framework */; };
|
668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9742F24EE18EA44D52824F1E /* CoreServices.framework */; };
|
||||||
68FFEB7CA30BF0149161B809 /* window.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = CA56ACFB53D87637192CC9B2 /* window.cpp */; settings = {ATTRIBUTES = (); }; };
|
68FFEB7CA30BF0149161B809 /* mainwindow.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = CA56ACFB53D87637192CC9B2 /* mainwindow.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
6A8BC88AB464B92706EFE6FF /* moc_countryinput.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 9D9F4744B2F9FF22569D4535 /* moc_countryinput.cpp */; settings = {ATTRIBUTES = (); }; };
|
6A8BC88AB464B92706EFE6FF /* moc_countryinput.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 9D9F4744B2F9FF22569D4535 /* moc_countryinput.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
6C79FBC5CFA36AC3EA6ABBD4 /* moc_dropdown.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = AC9B5F6FB4B984C8D76F7AE2 /* moc_dropdown.cpp */; settings = {ATTRIBUTES = (); }; };
|
6C79FBC5CFA36AC3EA6ABBD4 /* moc_dropdown.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = AC9B5F6FB4B984C8D76F7AE2 /* moc_dropdown.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
6E4DB0CBEF415196AFD4149F /* fileuploader.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 9B36BB8C5B8CA7B07F3F35F0 /* fileuploader.cpp */; settings = {ATTRIBUTES = (); }; };
|
6E4DB0CBEF415196AFD4149F /* fileuploader.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 9B36BB8C5B8CA7B07F3F35F0 /* fileuploader.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
|
@ -194,7 +194,7 @@
|
||||||
9809A3AF1946D51ACB41D716 /* moc_photocropbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = AF61D864B8C444ADD4E1B391 /* moc_photocropbox.cpp */; settings = {ATTRIBUTES = (); }; };
|
9809A3AF1946D51ACB41D716 /* moc_photocropbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = AF61D864B8C444ADD4E1B391 /* moc_photocropbox.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
98E4F55DB5D8E64AB9F08C83 /* moc_localimageloader.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 1D7899ACAA9F973CADFA34C1 /* moc_localimageloader.cpp */; settings = {ATTRIBUTES = (); }; };
|
98E4F55DB5D8E64AB9F08C83 /* moc_localimageloader.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 1D7899ACAA9F973CADFA34C1 /* moc_localimageloader.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
99F0A9B2AFE5ABDCBFC04510 /* rpc_sender.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 89F92B278CA31C393E245056 /* rpc_sender.cpp */; settings = {ATTRIBUTES = (); }; };
|
99F0A9B2AFE5ABDCBFC04510 /* rpc_sender.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 89F92B278CA31C393E245056 /* rpc_sender.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
9A0D5DDC7816FC2538EB6A96 /* moc_window.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 6B46A0EE3C3B9D3B5A24946E /* moc_window.cpp */; settings = {ATTRIBUTES = (); }; };
|
9A0D5DDC7816FC2538EB6A96 /* moc_mainwindow.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 6B46A0EE3C3B9D3B5A24946E /* moc_mainwindow.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
9A523F51135FD4E2464673A6 /* moc_session.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 63AF8520023B4EA40306CB03 /* moc_session.cpp */; settings = {ATTRIBUTES = (); }; };
|
9A523F51135FD4E2464673A6 /* moc_session.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 63AF8520023B4EA40306CB03 /* moc_session.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
9D294F23E02CFDF22C288382 /* moc_emojibox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0C0DC15EB416789673526AA5 /* moc_emojibox.cpp */; settings = {ATTRIBUTES = (); }; };
|
9D294F23E02CFDF22C288382 /* moc_emojibox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0C0DC15EB416789673526AA5 /* moc_emojibox.cpp */; settings = {ATTRIBUTES = (); }; };
|
||||||
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 04391BE7A8B9D811E255100A /* Qt5Gui */; };
|
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 04391BE7A8B9D811E255100A /* Qt5Gui */; };
|
||||||
|
@ -467,7 +467,7 @@
|
||||||
1A4C47331E186344291B8178 /* dropdown.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dropdown.h; path = SourceFiles/dropdown.h; sourceTree = "<absolute>"; };
|
1A4C47331E186344291B8178 /* dropdown.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dropdown.h; path = SourceFiles/dropdown.h; sourceTree = "<absolute>"; };
|
||||||
1B4A65B84270FF2FED008EB6 /* moc_introphone.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_introphone.cpp; path = GeneratedFiles/Debug/moc_introphone.cpp; sourceTree = "<absolute>"; };
|
1B4A65B84270FF2FED008EB6 /* moc_introphone.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_introphone.cpp; path = GeneratedFiles/Debug/moc_introphone.cpp; sourceTree = "<absolute>"; };
|
||||||
1D7899ACAA9F973CADFA34C1 /* moc_localimageloader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_localimageloader.cpp; path = GeneratedFiles/Debug/moc_localimageloader.cpp; sourceTree = "<absolute>"; };
|
1D7899ACAA9F973CADFA34C1 /* moc_localimageloader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_localimageloader.cpp; path = GeneratedFiles/Debug/moc_localimageloader.cpp; sourceTree = "<absolute>"; };
|
||||||
1DC02F674A7192FF8BE391A7 /* basic_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = basic_types.h; path = SourceFiles/basic_types.h; sourceTree = "<absolute>"; };
|
1DC02F674A7192FF8BE391A7 /* basic_types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = basic_types.h; path = SourceFiles/core/basic_types.h; sourceTree = "<absolute>"; };
|
||||||
1DEFC0760BB9340529F582F7 /* confirmbox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = confirmbox.h; path = SourceFiles/boxes/confirmbox.h; sourceTree = "<absolute>"; };
|
1DEFC0760BB9340529F582F7 /* confirmbox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = confirmbox.h; path = SourceFiles/boxes/confirmbox.h; sourceTree = "<absolute>"; };
|
||||||
1E5EEB5782B6357057356F9E /* moc_flatinput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_flatinput.cpp; path = GeneratedFiles/Debug/moc_flatinput.cpp; sourceTree = "<absolute>"; };
|
1E5EEB5782B6357057356F9E /* moc_flatinput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_flatinput.cpp; path = GeneratedFiles/Debug/moc_flatinput.cpp; sourceTree = "<absolute>"; };
|
||||||
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
|
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
|
||||||
|
@ -494,7 +494,7 @@
|
||||||
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
|
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
|
||||||
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
|
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
|
||||||
2EA58EF6CDF368B0132BAEB9 /* settings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = settings.h; path = SourceFiles/settings.h; sourceTree = "<absolute>"; };
|
2EA58EF6CDF368B0132BAEB9 /* settings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = settings.h; path = SourceFiles/settings.h; sourceTree = "<absolute>"; };
|
||||||
301BB513F2F5D447B3BF22DF /* window.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = window.h; path = SourceFiles/window.h; sourceTree = "<absolute>"; };
|
301BB513F2F5D447B3BF22DF /* mainwindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mainwindow.h; path = SourceFiles/mainwindow.h; sourceTree = "<absolute>"; };
|
||||||
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
|
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
|
||||||
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
|
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
|
||||||
315C7FACB4A9E18AA95486CA /* dcenter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcenter.cpp; path = SourceFiles/mtproto/dcenter.cpp; sourceTree = "<absolute>"; };
|
315C7FACB4A9E18AA95486CA /* dcenter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dcenter.cpp; path = SourceFiles/mtproto/dcenter.cpp; sourceTree = "<absolute>"; };
|
||||||
|
@ -563,7 +563,7 @@
|
||||||
6868ADA9E9A9801B2BA92B97 /* countryinput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = countryinput.h; path = SourceFiles/ui/countryinput.h; sourceTree = "<absolute>"; };
|
6868ADA9E9A9801B2BA92B97 /* countryinput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = countryinput.h; path = SourceFiles/ui/countryinput.h; sourceTree = "<absolute>"; };
|
||||||
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
|
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
|
||||||
6A510365F9F6367ECB0DB065 /* images.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = images.cpp; path = SourceFiles/ui/images.cpp; sourceTree = "<absolute>"; };
|
6A510365F9F6367ECB0DB065 /* images.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = images.cpp; path = SourceFiles/ui/images.cpp; sourceTree = "<absolute>"; };
|
||||||
6B46A0EE3C3B9D3B5A24946E /* moc_window.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_window.cpp; path = GeneratedFiles/Debug/moc_window.cpp; sourceTree = "<absolute>"; };
|
6B46A0EE3C3B9D3B5A24946E /* moc_mainwindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_mainwindow.cpp; path = GeneratedFiles/Debug/moc_mainwindow.cpp; sourceTree = "<absolute>"; };
|
||||||
6B90F69947805586A6FAE80E /* sysbuttons.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sysbuttons.cpp; path = SourceFiles/sysbuttons.cpp; sourceTree = "<absolute>"; };
|
6B90F69947805586A6FAE80E /* sysbuttons.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sysbuttons.cpp; path = SourceFiles/sysbuttons.cpp; sourceTree = "<absolute>"; };
|
||||||
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
|
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
|
||||||
6C86B6E6AB1857B735B720D6 /* layerwidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = layerwidget.h; path = SourceFiles/layerwidget.h; sourceTree = "<absolute>"; };
|
6C86B6E6AB1857B735B720D6 /* layerwidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = layerwidget.h; path = SourceFiles/layerwidget.h; sourceTree = "<absolute>"; };
|
||||||
|
@ -583,7 +583,7 @@
|
||||||
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
|
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
|
||||||
7CA6945B22800A0F30B75DA5 /* addcontactbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = addcontactbox.cpp; path = SourceFiles/boxes/addcontactbox.cpp; sourceTree = "<absolute>"; };
|
7CA6945B22800A0F30B75DA5 /* addcontactbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = addcontactbox.cpp; path = SourceFiles/boxes/addcontactbox.cpp; sourceTree = "<absolute>"; };
|
||||||
7CDE9D7CB2C729BC3612372B /* addcontactbox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = addcontactbox.h; path = SourceFiles/boxes/addcontactbox.h; sourceTree = "<absolute>"; };
|
7CDE9D7CB2C729BC3612372B /* addcontactbox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = addcontactbox.h; path = SourceFiles/boxes/addcontactbox.h; sourceTree = "<absolute>"; };
|
||||||
7D075A915E8739C1B6BC5F43 /* basic_types.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = basic_types.cpp; path = SourceFiles/basic_types.cpp; sourceTree = "<absolute>"; };
|
7D075A915E8739C1B6BC5F43 /* basic_types.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = basic_types.cpp; path = SourceFiles/core/basic_types.cpp; sourceTree = "<absolute>"; };
|
||||||
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
|
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
|
||||||
7DBFC0B5EAF874BA10E3D603 /* scheme_auto.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scheme_auto.h; path = SourceFiles/mtproto/scheme_auto.h; sourceTree = "<absolute>"; };
|
7DBFC0B5EAF874BA10E3D603 /* scheme_auto.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = scheme_auto.h; path = SourceFiles/mtproto/scheme_auto.h; sourceTree = "<absolute>"; };
|
||||||
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
|
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
|
||||||
|
@ -703,7 +703,7 @@
|
||||||
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
|
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
|
||||||
C913E6A1001E07EE7C13CE93 /* style.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = style.h; path = SourceFiles/ui/style.h; sourceTree = "<absolute>"; };
|
C913E6A1001E07EE7C13CE93 /* style.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = style.h; path = SourceFiles/ui/style.h; sourceTree = "<absolute>"; };
|
||||||
C9FFCCE4FCB845744636795F /* moc_flatbutton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_flatbutton.cpp; path = GeneratedFiles/Debug/moc_flatbutton.cpp; sourceTree = "<absolute>"; };
|
C9FFCCE4FCB845744636795F /* moc_flatbutton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_flatbutton.cpp; path = GeneratedFiles/Debug/moc_flatbutton.cpp; sourceTree = "<absolute>"; };
|
||||||
CA56ACFB53D87637192CC9B2 /* window.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = window.cpp; path = SourceFiles/window.cpp; sourceTree = "<absolute>"; };
|
CA56ACFB53D87637192CC9B2 /* mainwindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mainwindow.cpp; path = SourceFiles/mainwindow.cpp; sourceTree = "<absolute>"; };
|
||||||
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
|
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
|
||||||
CE0D5EFE401BF9815FACE579 /* pspecific_mac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pspecific_mac.h; path = SourceFiles/pspecific_mac.h; sourceTree = "<absolute>"; };
|
CE0D5EFE401BF9815FACE579 /* pspecific_mac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pspecific_mac.h; path = SourceFiles/pspecific_mac.h; sourceTree = "<absolute>"; };
|
||||||
CE7FFE194127BD789A2C877A /* moc_confirmbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_confirmbox.cpp; path = GeneratedFiles/Debug/moc_confirmbox.cpp; sourceTree = "<absolute>"; };
|
CE7FFE194127BD789A2C877A /* moc_confirmbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_confirmbox.cpp; path = GeneratedFiles/Debug/moc_confirmbox.cpp; sourceTree = "<absolute>"; };
|
||||||
|
@ -1148,8 +1148,8 @@
|
||||||
3BE70E2A82DC2BF402165ED5 /* sysbuttons.h */,
|
3BE70E2A82DC2BF402165ED5 /* sysbuttons.h */,
|
||||||
2BB2A1BB8DB0993F78F4E3C7 /* title.cpp */,
|
2BB2A1BB8DB0993F78F4E3C7 /* title.cpp */,
|
||||||
4D504A849F15EB58E53A4E5F /* title.h */,
|
4D504A849F15EB58E53A4E5F /* title.h */,
|
||||||
CA56ACFB53D87637192CC9B2 /* window.cpp */,
|
CA56ACFB53D87637192CC9B2 /* mainwindow.cpp */,
|
||||||
301BB513F2F5D447B3BF22DF /* window.h */,
|
301BB513F2F5D447B3BF22DF /* mainwindow.h */,
|
||||||
24F7D3E789E91B10E422C116 /* config.h */,
|
24F7D3E789E91B10E422C116 /* config.h */,
|
||||||
C913E6A1001E07EE7C13CE93 /* style.h */,
|
C913E6A1001E07EE7C13CE93 /* style.h */,
|
||||||
);
|
);
|
||||||
|
@ -1327,7 +1327,7 @@
|
||||||
93AFE74928551FC3D7E8390B /* moc_settingswidget.cpp */,
|
93AFE74928551FC3D7E8390B /* moc_settingswidget.cpp */,
|
||||||
B88236FC554B694F618D848C /* moc_sysbuttons.cpp */,
|
B88236FC554B694F618D848C /* moc_sysbuttons.cpp */,
|
||||||
1080B6D395843B8F76A2E45E /* moc_title.cpp */,
|
1080B6D395843B8F76A2E45E /* moc_title.cpp */,
|
||||||
6B46A0EE3C3B9D3B5A24946E /* moc_window.cpp */,
|
6B46A0EE3C3B9D3B5A24946E /* moc_mainwindow.cpp */,
|
||||||
924D4939FD169BB4B8AEB1C9 /* moc_facade.cpp */,
|
924D4939FD169BB4B8AEB1C9 /* moc_facade.cpp */,
|
||||||
B714EA71A09A832FAA846A0A /* moc_connection.cpp */,
|
B714EA71A09A832FAA846A0A /* moc_connection.cpp */,
|
||||||
2C540BAEABD7F9B5FA11008E /* moc_dcenter.cpp */,
|
2C540BAEABD7F9B5FA11008E /* moc_dcenter.cpp */,
|
||||||
|
@ -1707,7 +1707,7 @@
|
||||||
5CE57D44510AB2A11886AB52 /* title.cpp in Compile Sources */,
|
5CE57D44510AB2A11886AB52 /* title.cpp in Compile Sources */,
|
||||||
077A4AF81CA41C38002188D2 /* connection_auto.cpp in Compile Sources */,
|
077A4AF81CA41C38002188D2 /* connection_auto.cpp in Compile Sources */,
|
||||||
4078D5D614EB3ECF7F1848C7 /* basic_types.cpp in Compile Sources */,
|
4078D5D614EB3ECF7F1848C7 /* basic_types.cpp in Compile Sources */,
|
||||||
68FFEB7CA30BF0149161B809 /* window.cpp in Compile Sources */,
|
68FFEB7CA30BF0149161B809 /* mainwindow.cpp in Compile Sources */,
|
||||||
0CB7DE9A54CC9BF86FB7B5CA /* facade.cpp in Compile Sources */,
|
0CB7DE9A54CC9BF86FB7B5CA /* facade.cpp in Compile Sources */,
|
||||||
DF259E9677CC63AF8754032B /* connection.cpp in Compile Sources */,
|
DF259E9677CC63AF8754032B /* connection.cpp in Compile Sources */,
|
||||||
074FCB9119D36E60004C6EB2 /* moc_popupmenu.cpp in Compile Sources */,
|
074FCB9119D36E60004C6EB2 /* moc_popupmenu.cpp in Compile Sources */,
|
||||||
|
@ -1793,7 +1793,7 @@
|
||||||
FD2FE0C564A7389A2E609EC7 /* moc_sysbuttons.cpp in Compile Sources */,
|
FD2FE0C564A7389A2E609EC7 /* moc_sysbuttons.cpp in Compile Sources */,
|
||||||
E97B3CFAB59B49BACFFC5F7C /* moc_title.cpp in Compile Sources */,
|
E97B3CFAB59B49BACFFC5F7C /* moc_title.cpp in Compile Sources */,
|
||||||
07D8510819F8340A00623D75 /* moc_usernamebox.cpp in Compile Sources */,
|
07D8510819F8340A00623D75 /* moc_usernamebox.cpp in Compile Sources */,
|
||||||
9A0D5DDC7816FC2538EB6A96 /* moc_window.cpp in Compile Sources */,
|
9A0D5DDC7816FC2538EB6A96 /* moc_mainwindow.cpp in Compile Sources */,
|
||||||
06EABCC49D2EEE4076322BE7 /* moc_facade.cpp in Compile Sources */,
|
06EABCC49D2EEE4076322BE7 /* moc_facade.cpp in Compile Sources */,
|
||||||
0755AEDE1AD12A80004D738A /* moc_intropwdcheck.cpp in Compile Sources */,
|
0755AEDE1AD12A80004D738A /* moc_intropwdcheck.cpp in Compile Sources */,
|
||||||
07DE92AA1AA4928200A18F6F /* moc_autolockbox.cpp in Compile Sources */,
|
07DE92AA1AA4928200A18F6F /* moc_autolockbox.cpp in Compile Sources */,
|
||||||
|
|
|
@ -56,7 +56,7 @@ compilers: GeneratedFiles/qrc_telegram.cpp\
|
||||||
GeneratedFiles/Debug/moc_sysbuttons.cpp\
|
GeneratedFiles/Debug/moc_sysbuttons.cpp\
|
||||||
GeneratedFiles/Debug/moc_title.cpp\
|
GeneratedFiles/Debug/moc_title.cpp\
|
||||||
GeneratedFiles/Debug/moc_basic_types.cpp\
|
GeneratedFiles/Debug/moc_basic_types.cpp\
|
||||||
GeneratedFiles/Debug/moc_window.cpp\
|
GeneratedFiles/Debug/moc_mainwindow.cpp\
|
||||||
GeneratedFiles/Debug/moc_facade.cpp\
|
GeneratedFiles/Debug/moc_facade.cpp\
|
||||||
GeneratedFiles/Debug/moc_connection.cpp\
|
GeneratedFiles/Debug/moc_connection.cpp\
|
||||||
GeneratedFiles/Debug/moc_connection_abstract.cpp\
|
GeneratedFiles/Debug/moc_connection_abstract.cpp\
|
||||||
|
@ -181,7 +181,7 @@ compiler_moc_header_make_all: GeneratedFiles/Debug/moc_apiwrap.cpp\
|
||||||
GeneratedFiles/Debug/moc_sysbuttons.cpp\
|
GeneratedFiles/Debug/moc_sysbuttons.cpp\
|
||||||
GeneratedFiles/Debug/moc_title.cpp\
|
GeneratedFiles/Debug/moc_title.cpp\
|
||||||
GeneratedFiles/Debug/moc_basic_types.cpp\
|
GeneratedFiles/Debug/moc_basic_types.cpp\
|
||||||
GeneratedFiles/Debug/moc_window.cpp\
|
GeneratedFiles/Debug/moc_mainwindow.cpp\
|
||||||
GeneratedFiles/Debug/moc_facade.cpp\
|
GeneratedFiles/Debug/moc_facade.cpp\
|
||||||
GeneratedFiles/Debug/moc_connection.cpp\
|
GeneratedFiles/Debug/moc_connection.cpp\
|
||||||
GeneratedFiles/Debug/moc_connection_abstract.cpp\
|
GeneratedFiles/Debug/moc_connection_abstract.cpp\
|
||||||
|
@ -249,7 +249,7 @@ compiler_moc_header_clean:
|
||||||
GeneratedFiles/Debug/moc_sysbuttons.cpp\
|
GeneratedFiles/Debug/moc_sysbuttons.cpp\
|
||||||
GeneratedFiles/Debug/moc_title.cpp\
|
GeneratedFiles/Debug/moc_title.cpp\
|
||||||
GeneratedFiles/Debug/moc_basic_types.cpp\
|
GeneratedFiles/Debug/moc_basic_types.cpp\
|
||||||
GeneratedFiles/Debug/moc_window.cpp\
|
GeneratedFiles/Debug/moc_mainwindow.cpp\
|
||||||
GeneratedFiles/Debug/moc_facade.cpp\
|
GeneratedFiles/Debug/moc_facade.cpp\
|
||||||
GeneratedFiles/Debug/moc_connection.cpp\
|
GeneratedFiles/Debug/moc_connection.cpp\
|
||||||
GeneratedFiles/Debug/moc_connection_abstract.cpp\
|
GeneratedFiles/Debug/moc_connection_abstract.cpp\
|
||||||
|
@ -294,7 +294,7 @@ compiler_moc_header_clean:
|
||||||
GeneratedFiles/Debug/moc_intropwdcheck.cpp\
|
GeneratedFiles/Debug/moc_intropwdcheck.cpp\
|
||||||
GeneratedFiles/Debug/moc_introsignup.cpp\
|
GeneratedFiles/Debug/moc_introsignup.cpp\
|
||||||
GeneratedFiles/Debug/moc_pspecific_mac.cpp
|
GeneratedFiles/Debug/moc_pspecific_mac.cpp
|
||||||
GeneratedFiles/Debug/moc_apiwrap.cpp: SourceFiles/basic_types.h \
|
GeneratedFiles/Debug/moc_apiwrap.cpp: SourceFiles/core/basic_types.h \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
SourceFiles/apiwrap.h
|
SourceFiles/apiwrap.h
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/apiwrap.h -o GeneratedFiles/Debug/moc_apiwrap.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/apiwrap.h -o GeneratedFiles/Debug/moc_apiwrap.cpp
|
||||||
|
@ -302,12 +302,12 @@ GeneratedFiles/Debug/moc_apiwrap.cpp: SourceFiles/basic_types.h \
|
||||||
GeneratedFiles/Debug/moc_application.cpp: ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalSocket \
|
GeneratedFiles/Debug/moc_application.cpp: ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalSocket \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalServer \
|
../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalServer \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtNetwork/QNetworkReply \
|
../../Libraries/QtStatic/qtbase/include/QtNetwork/QNetworkReply \
|
||||||
SourceFiles/window.h \
|
SourceFiles/mainwindow.h \
|
||||||
SourceFiles/title.h \
|
SourceFiles/title.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
||||||
SourceFiles/sysbuttons.h \
|
SourceFiles/sysbuttons.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -323,7 +323,7 @@ GeneratedFiles/Debug/moc_application.cpp: ../../Libraries/QtStatic/qtbase/includ
|
||||||
SourceFiles/application.h
|
SourceFiles/application.h
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/application.h -o GeneratedFiles/Debug/moc_application.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/application.h -o GeneratedFiles/Debug/moc_application.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_audio.cpp: SourceFiles/basic_types.h \
|
GeneratedFiles/Debug/moc_audio.cpp: SourceFiles/core/basic_types.h \
|
||||||
SourceFiles/audio.h \
|
SourceFiles/audio.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
|
@ -331,7 +331,7 @@ GeneratedFiles/Debug/moc_audio.cpp: SourceFiles/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtGui/QColor
|
../../Libraries/QtStatic/qtbase/include/QtGui/QColor
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/audio.h -o GeneratedFiles/Debug/moc_audio.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/audio.h -o GeneratedFiles/Debug/moc_audio.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_autoupdater.cpp: SourceFiles/basic_types.h \
|
GeneratedFiles/Debug/moc_autoupdater.cpp: SourceFiles/core/basic_types.h \
|
||||||
SourceFiles/autoupdater.h \
|
SourceFiles/autoupdater.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
|
@ -393,7 +393,7 @@ GeneratedFiles/Debug/moc_mainwidget.cpp: ../../Libraries/QtStatic/qtbase/include
|
||||||
SourceFiles/ui/twidget.h \
|
SourceFiles/ui/twidget.h \
|
||||||
SourceFiles/ui/flatcheckbox.h \
|
SourceFiles/ui/flatcheckbox.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -417,7 +417,7 @@ GeneratedFiles/Debug/moc_settingswidget.cpp: SourceFiles/ui/flatbutton.h \
|
||||||
SourceFiles/ui/twidget.h \
|
SourceFiles/ui/twidget.h \
|
||||||
SourceFiles/ui/flatcheckbox.h \
|
SourceFiles/ui/flatcheckbox.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -431,7 +431,7 @@ GeneratedFiles/Debug/moc_settingswidget.cpp: SourceFiles/ui/flatbutton.h \
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_sysbuttons.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
GeneratedFiles/Debug/moc_sysbuttons.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -445,7 +445,7 @@ GeneratedFiles/Debug/moc_sysbuttons.cpp: ../../Libraries/QtStatic/qtbase/include
|
||||||
GeneratedFiles/Debug/moc_title.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
GeneratedFiles/Debug/moc_title.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
||||||
SourceFiles/sysbuttons.h \
|
SourceFiles/sysbuttons.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -455,18 +455,18 @@ GeneratedFiles/Debug/moc_title.cpp: ../../Libraries/QtStatic/qtbase/include/QtWi
|
||||||
SourceFiles/title.h
|
SourceFiles/title.h
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/title.h -o GeneratedFiles/Debug/moc_title.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/title.h -o GeneratedFiles/Debug/moc_title.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_basic_types.cpp: SourceFiles/basic_types.h \
|
GeneratedFiles/Debug/moc_basic_types.cpp: SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/basic_types.h -o GeneratedFiles/Debug/moc_basic_types.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/core/basic_types.h -o GeneratedFiles/Debug/moc_basic_types.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_window.cpp: SourceFiles/title.h \
|
GeneratedFiles/Debug/moc_mainwindow.cpp: SourceFiles/title.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \
|
||||||
SourceFiles/sysbuttons.h \
|
SourceFiles/sysbuttons.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -481,8 +481,8 @@ GeneratedFiles/Debug/moc_window.cpp: SourceFiles/title.h \
|
||||||
SourceFiles/pspecific_winrt.h \
|
SourceFiles/pspecific_winrt.h \
|
||||||
SourceFiles/passcodewidget.h \
|
SourceFiles/passcodewidget.h \
|
||||||
SourceFiles/ui/boxshadow.h \
|
SourceFiles/ui/boxshadow.h \
|
||||||
SourceFiles/window.h
|
SourceFiles/mainwindow.h
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/window.h -o GeneratedFiles/Debug/moc_window.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mainwindow.h -o GeneratedFiles/Debug/moc_mainwindow.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_facade.cpp: SourceFiles/mtproto/session.h \
|
GeneratedFiles/Debug/moc_facade.cpp: SourceFiles/mtproto/session.h \
|
||||||
SourceFiles/mtproto/connection.h \
|
SourceFiles/mtproto/connection.h \
|
||||||
|
@ -491,7 +491,7 @@ GeneratedFiles/Debug/moc_facade.cpp: SourceFiles/mtproto/session.h \
|
||||||
SourceFiles/mtproto/connection_http.h \
|
SourceFiles/mtproto/connection_http.h \
|
||||||
SourceFiles/mtproto/connection_tcp.h \
|
SourceFiles/mtproto/connection_tcp.h \
|
||||||
SourceFiles/mtproto/core_types.h \
|
SourceFiles/mtproto/core_types.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
SourceFiles/mtproto/scheme_auto.h \
|
SourceFiles/mtproto/scheme_auto.h \
|
||||||
|
@ -504,7 +504,7 @@ GeneratedFiles/Debug/moc_facade.cpp: SourceFiles/mtproto/session.h \
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/facade.h -o GeneratedFiles/Debug/moc_facade.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/facade.h -o GeneratedFiles/Debug/moc_facade.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_connection.cpp: SourceFiles/mtproto/core_types.h \
|
GeneratedFiles/Debug/moc_connection.cpp: SourceFiles/mtproto/core_types.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
SourceFiles/mtproto/scheme_auto.h \
|
SourceFiles/mtproto/scheme_auto.h \
|
||||||
|
@ -514,7 +514,7 @@ GeneratedFiles/Debug/moc_connection.cpp: SourceFiles/mtproto/core_types.h \
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/connection.h -o GeneratedFiles/Debug/moc_connection.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/connection.h -o GeneratedFiles/Debug/moc_connection.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_connection_abstract.cpp: SourceFiles/mtproto/core_types.h \
|
GeneratedFiles/Debug/moc_connection_abstract.cpp: SourceFiles/mtproto/core_types.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
SourceFiles/mtproto/scheme_auto.h \
|
SourceFiles/mtproto/scheme_auto.h \
|
||||||
|
@ -524,7 +524,7 @@ GeneratedFiles/Debug/moc_connection_abstract.cpp: SourceFiles/mtproto/core_types
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/connection_abstract.h -o GeneratedFiles/Debug/moc_connection_abstract.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/connection_abstract.h -o GeneratedFiles/Debug/moc_connection_abstract.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_connection_auto.cpp: SourceFiles/mtproto/core_types.h \
|
GeneratedFiles/Debug/moc_connection_auto.cpp: SourceFiles/mtproto/core_types.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
SourceFiles/mtproto/scheme_auto.h \
|
SourceFiles/mtproto/scheme_auto.h \
|
||||||
|
@ -534,7 +534,7 @@ GeneratedFiles/Debug/moc_connection_auto.cpp: SourceFiles/mtproto/core_types.h \
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/connection_auto.h -o GeneratedFiles/Debug/moc_connection_auto.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/connection_auto.h -o GeneratedFiles/Debug/moc_connection_auto.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_connection_http.cpp: SourceFiles/mtproto/core_types.h \
|
GeneratedFiles/Debug/moc_connection_http.cpp: SourceFiles/mtproto/core_types.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
SourceFiles/mtproto/scheme_auto.h \
|
SourceFiles/mtproto/scheme_auto.h \
|
||||||
|
@ -544,7 +544,7 @@ GeneratedFiles/Debug/moc_connection_http.cpp: SourceFiles/mtproto/core_types.h \
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/connection_http.h -o GeneratedFiles/Debug/moc_connection_http.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/connection_http.h -o GeneratedFiles/Debug/moc_connection_http.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_connection_tcp.cpp: SourceFiles/mtproto/core_types.h \
|
GeneratedFiles/Debug/moc_connection_tcp.cpp: SourceFiles/mtproto/core_types.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
SourceFiles/mtproto/scheme_auto.h \
|
SourceFiles/mtproto/scheme_auto.h \
|
||||||
|
@ -565,7 +565,7 @@ GeneratedFiles/Debug/moc_session.cpp: SourceFiles/mtproto/connection.h \
|
||||||
SourceFiles/mtproto/connection_http.h \
|
SourceFiles/mtproto/connection_http.h \
|
||||||
SourceFiles/mtproto/connection_tcp.h \
|
SourceFiles/mtproto/connection_tcp.h \
|
||||||
SourceFiles/mtproto/core_types.h \
|
SourceFiles/mtproto/core_types.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
SourceFiles/mtproto/scheme_auto.h \
|
SourceFiles/mtproto/scheme_auto.h \
|
||||||
|
@ -576,7 +576,7 @@ GeneratedFiles/Debug/moc_session.cpp: SourceFiles/mtproto/connection.h \
|
||||||
SourceFiles/mtproto/session.h
|
SourceFiles/mtproto/session.h
|
||||||
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/session.h -o GeneratedFiles/Debug/moc_session.cpp
|
/usr/local/Qt-5.5.1/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.1/include/QtGui/5.5.1/QtGui -I/usr/local/Qt-5.5.1/include/QtCore/5.5.1/QtCore -I/usr/local/Qt-5.5.1/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtMultimedia -I/usr/local/Qt-5.5.1/include/QtWidgets -I/usr/local/Qt-5.5.1/include/QtNetwork -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.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/mtproto/session.h -o GeneratedFiles/Debug/moc_session.cpp
|
||||||
|
|
||||||
GeneratedFiles/Debug/moc_animation.cpp: SourceFiles/basic_types.h \
|
GeneratedFiles/Debug/moc_animation.cpp: SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -604,7 +604,7 @@ GeneratedFiles/Debug/moc_countryinput.cpp: ../../Libraries/QtStatic/qtbase/inclu
|
||||||
SourceFiles/ui/flatinput.h \
|
SourceFiles/ui/flatinput.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \
|
../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -624,7 +624,7 @@ GeneratedFiles/Debug/moc_flatbutton.cpp: SourceFiles/ui/button.h \
|
||||||
SourceFiles/ui/twidget.h \
|
SourceFiles/ui/twidget.h \
|
||||||
SourceFiles/ui/flatcheckbox.h \
|
SourceFiles/ui/flatcheckbox.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -646,7 +646,7 @@ GeneratedFiles/Debug/moc_flatinput.cpp: ../../Libraries/QtStatic/qtbase/include/
|
||||||
GeneratedFiles/style_classes.h \
|
GeneratedFiles/style_classes.h \
|
||||||
GeneratedFiles/style_auto.h \
|
GeneratedFiles/style_auto.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -665,7 +665,7 @@ GeneratedFiles/Debug/moc_flattextarea.cpp: ../../Libraries/QtStatic/qtbase/inclu
|
||||||
GeneratedFiles/style_classes.h \
|
GeneratedFiles/style_classes.h \
|
||||||
GeneratedFiles/style_auto.h \
|
GeneratedFiles/style_auto.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -721,7 +721,7 @@ GeneratedFiles/Debug/moc_connectionbox.cpp: SourceFiles/boxes/abstractbox.h \
|
||||||
GeneratedFiles/style_classes.h \
|
GeneratedFiles/style_classes.h \
|
||||||
GeneratedFiles/style_auto.h \
|
GeneratedFiles/style_auto.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -742,7 +742,7 @@ GeneratedFiles/Debug/moc_downloadpathbox.cpp: SourceFiles/boxes/abstractbox.h \
|
||||||
GeneratedFiles/style_classes.h \
|
GeneratedFiles/style_classes.h \
|
||||||
GeneratedFiles/style_auto.h \
|
GeneratedFiles/style_auto.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -799,7 +799,7 @@ GeneratedFiles/Debug/moc_introwidget.cpp: ../../Libraries/QtStatic/qtbase/includ
|
||||||
SourceFiles/ui/twidget.h \
|
SourceFiles/ui/twidget.h \
|
||||||
SourceFiles/ui/flatcheckbox.h \
|
SourceFiles/ui/flatcheckbox.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -816,7 +816,7 @@ GeneratedFiles/Debug/moc_introcode.cpp: ../../Libraries/QtStatic/qtbase/include/
|
||||||
SourceFiles/ui/twidget.h \
|
SourceFiles/ui/twidget.h \
|
||||||
SourceFiles/ui/flatcheckbox.h \
|
SourceFiles/ui/flatcheckbox.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -836,7 +836,7 @@ GeneratedFiles/Debug/moc_introphone.cpp: ../../Libraries/QtStatic/qtbase/include
|
||||||
SourceFiles/ui/twidget.h \
|
SourceFiles/ui/twidget.h \
|
||||||
SourceFiles/ui/flatcheckbox.h \
|
SourceFiles/ui/flatcheckbox.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -860,7 +860,7 @@ GeneratedFiles/Debug/moc_intropwdcheck.cpp: ../../Libraries/QtStatic/qtbase/incl
|
||||||
SourceFiles/ui/twidget.h \
|
SourceFiles/ui/twidget.h \
|
||||||
SourceFiles/ui/flatcheckbox.h \
|
SourceFiles/ui/flatcheckbox.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
@ -884,7 +884,7 @@ GeneratedFiles/Debug/moc_introsignup.cpp: ../../Libraries/QtStatic/qtbase/includ
|
||||||
SourceFiles/ui/twidget.h \
|
SourceFiles/ui/twidget.h \
|
||||||
SourceFiles/ui/flatcheckbox.h \
|
SourceFiles/ui/flatcheckbox.h \
|
||||||
SourceFiles/ui/animation.h \
|
SourceFiles/ui/animation.h \
|
||||||
SourceFiles/basic_types.h \
|
SourceFiles/core/basic_types.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \
|
||||||
SourceFiles/logs.h \
|
SourceFiles/logs.h \
|
||||||
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \
|
||||||
|
|
Loading…
Reference in New Issue