From 19f9b56d2c2a031a213cbd0d4e6a3aae8d38b956 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sat, 16 Apr 2016 20:51:25 +0300 Subject: [PATCH 01/16] codegen_style project started, basic (common) tokenizer done. --- Telegram.sln | 1 + Telegram/Resources/all_files.style | 26 ++ Telegram/Resources/style.txt | 11 +- Telegram/SourceFiles/app.cpp | 13 +- .../codegen/common/basic_tokenized_file.cpp | 271 ++++++++++++++++++ .../codegen/common/basic_tokenized_file.h | 151 ++++++++++ .../codegen/common/checked_utf8_string.cpp | 54 ++++ .../codegen/common/checked_utf8_string.h | 57 ++++ .../SourceFiles/codegen/common/clean_file.cpp | 159 ++++++++++ .../SourceFiles/codegen/common/clean_file.h | 66 +++++ .../codegen/common/clean_file_reader.h | 75 +++++ .../codegen/common/const_utf8_string.h | 75 +++++ .../SourceFiles/codegen/common/logging.cpp | 47 +++ Telegram/SourceFiles/codegen/common/logging.h | 63 ++++ .../SourceFiles/codegen/style/generator.cpp | 62 ++++ .../SourceFiles/codegen/style/generator.h | 50 ++++ Telegram/SourceFiles/codegen/style/main.cpp | 42 ++- .../codegen/style/tokenized_file.cpp | 136 +++++++++ .../codegen/style/tokenized_file.h | 127 ++++++++ Telegram/Telegram.vcxproj | 4 + Telegram/Telegram.vcxproj.filters | 5 + .../vc/codegen_style/codegen_style.targets | 20 ++ .../vc/codegen_style/codegen_style.vcxproj | 29 +- .../codegen_style.vcxproj.filters | 64 ++++- .../build/vc/codegen_style/codegen_style.xml | 6 + 25 files changed, 1587 insertions(+), 27 deletions(-) create mode 100644 Telegram/Resources/all_files.style create mode 100644 Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp create mode 100644 Telegram/SourceFiles/codegen/common/basic_tokenized_file.h create mode 100644 Telegram/SourceFiles/codegen/common/checked_utf8_string.cpp create mode 100644 Telegram/SourceFiles/codegen/common/checked_utf8_string.h create mode 100644 Telegram/SourceFiles/codegen/common/clean_file.cpp create mode 100644 Telegram/SourceFiles/codegen/common/clean_file.h create mode 100644 Telegram/SourceFiles/codegen/common/clean_file_reader.h create mode 100644 Telegram/SourceFiles/codegen/common/const_utf8_string.h create mode 100644 Telegram/SourceFiles/codegen/common/logging.cpp create mode 100644 Telegram/SourceFiles/codegen/common/logging.h create mode 100644 Telegram/SourceFiles/codegen/style/generator.cpp create mode 100644 Telegram/SourceFiles/codegen/style/generator.h create mode 100644 Telegram/SourceFiles/codegen/style/tokenized_file.cpp create mode 100644 Telegram/SourceFiles/codegen/style/tokenized_file.h create mode 100644 Telegram/build/vc/codegen_style/codegen_style.targets create mode 100644 Telegram/build/vc/codegen_style/codegen_style.xml diff --git a/Telegram.sln b/Telegram.sln index 6487c468a..fe3eed1b1 100644 --- a/Telegram.sln +++ b/Telegram.sln @@ -6,6 +6,7 @@ MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Telegram", "Telegram\Telegram.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}" ProjectSection(ProjectDependencies) = postProject {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0} = {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0} + {E4DF8176-4DEF-4859-962F-B497E3E7A323} = {E4DF8176-4DEF-4859-962F-B497E3E7A323} {E417CAA4-259B-4C99-88E3-805F1300E8EB} = {E417CAA4-259B-4C99-88E3-805F1300E8EB} {EB7D16AC-EACF-4577-B05A-F28E5F356794} = {EB7D16AC-EACF-4577-B05A-F28E5F356794} EndProjectSection diff --git a/Telegram/Resources/all_files.style b/Telegram/Resources/all_files.style new file mode 100644 index 000000000..93a8e078e --- /dev/null +++ b/Telegram/Resources/all_files.style @@ -0,0 +1,26 @@ +/* +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 +*/ + +// Legacy styles +using "./style_classes.txt"; +using "./style.txt"; + +//using "./../SourceFiles/overview/overview.style"; diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index 626846aac..ec6871bf4 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -18,14 +18,13 @@ 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 */ -defaultFontFamily: 'Open Sans'; -semibold: 'Open Sans Semibold'; +defaultFontFamily: "Open Sans"; +semibold: "Open Sans Semibold"; fsize: 13px; normalFont: font(fsize); semiboldFont: font(fsize semibold); -spriteFile: ':/gui/art/sprite.png' / 2:':/gui/art/sprite_125x.png' / 3:':/gui/art/sprite_150x.png' / 4:':/gui/art/sprite_200x.png'; emojiImgSize: 18px; // exceptional value for retina emojiSize: 18px; emojiPadding: 0px; @@ -1116,8 +1115,8 @@ msgLinkColor: #2a6dc2; msgPressedLinkColor: #004bad; msgSkip: 40px; msgPtr: 8px; -msgBG: ':/gui/art/bg.jpg'; -msgBG0: ':/gui/art/bg0.png'; +msgBG: ":/gui/art/bg.jpg"; +msgBG0: ":/gui/art/bg0.png"; msgCheckPos: point(3px, 1px); msgSendingImg: sprite(260px, 20px, 20px, 20px); @@ -1548,7 +1547,7 @@ reportSpamButton: flatButton(reportSpamHide) { reportSpamSeparator: 30px; reportSpamBg: #fffffff0; -newMsgSound: ':/gui/art/newmsg.wav'; +newMsgSound: ":/gui/art/newmsg.wav"; unreadBarHeight: 32px; unreadBarMargin: 8px; diff --git a/Telegram/SourceFiles/app.cpp b/Telegram/SourceFiles/app.cpp index ec8db9052..d91437298 100644 --- a/Telegram/SourceFiles/app.cpp +++ b/Telegram/SourceFiles/app.cpp @@ -1994,10 +1994,19 @@ namespace { ::monofont = style::font(st::normalFont->f.pixelSize(), 0, family); } if (!::sprite) { + QString spriteFilePostfix; + if (cRetina() || cScale() == dbisTwo) { + spriteFilePostfix = qsl("_200x"); + } else if (cScale() == dbisOneAndQuarter) { + spriteFilePostfix = qsl("_125x"); + } else if (cScale() == dbisOneAndHalf) { + spriteFilePostfix = qsl("_150x"); + } + QString spriteFile = qsl(":/gui/art/sprite") + spriteFilePostfix + qsl(".png"); if (rtl()) { - ::sprite = new QPixmap(QPixmap::fromImage(QImage(st::spriteFile).mirrored(true, false))); + ::sprite = new QPixmap(QPixmap::fromImage(QImage(spriteFile).mirrored(true, false))); } else { - ::sprite = new QPixmap(st::spriteFile); + ::sprite = new QPixmap(spriteFile); } if (cRetina()) ::sprite->setDevicePixelRatio(cRetinaFactor()); } diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp new file mode 100644 index 000000000..1619fcc80 --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp @@ -0,0 +1,271 @@ +/* +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 "codegen/common/basic_tokenized_file.h" + +#include "codegen/common/logging.h" +#include "codegen/common/clean_file_reader.h" +#include "codegen/common/checked_utf8_string.h" + +using Token = codegen::common::BasicTokenizedFile::Token; +using Type = Token::Type; + +namespace codegen { +namespace common { +namespace { + +constexpr int kErrorUnterminatedStringLiteral = 201; +constexpr int kErrorIncorrectUtf8String = 202; +constexpr int kErrorIncorrectToken = 203; +constexpr int kErrorUnexpectedToken = 204; + +bool isDigitChar(char ch) { + return (ch >= '0') && (ch <= '9'); +} + +bool isNameChar(char ch) { + return isDigitChar(ch) || ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) || (ch == '_'); +} + +bool isWhitespaceChar(char ch) { + return (ch == '\n' || ch == ' ' || ch == '\t'); +} + +Token invalidToken() { + return { Type::Invalid, QString(), ConstUtf8String(nullptr, 0) }; +} + +} // namespace + +BasicTokenizedFile::BasicTokenizedFile(const QString &filepath) : reader_(filepath) { +} + +bool BasicTokenizedFile::putBack() { + if (currentToken_ > 0) { + --currentToken_; + return true; + } + return false; +} + +Token BasicTokenizedFile::getAnyToken() { + if (currentToken_ >= tokens_.size()) { + if (readToken() == Type::Invalid) { + return invalidToken(); + } + } + return tokens_.at(currentToken_++); +} + +Token BasicTokenizedFile::getToken(Type typeCondition) { + if (auto token = getAnyToken()) { + if (token.type == typeCondition) { + return token; + } + putBack(); + } + return invalidToken(); +} + +Type BasicTokenizedFile::readToken() { + auto result = readOneToken(StartWithWhitespace::Allow); + + // Try to read double token. + if (result == Type::Int) { + if (readOneToken(StartWithWhitespace::Deny) == Type::Dot) { + // We got int and dot, so it is double already. + result = uniteLastTokens(Type::Double); + + // Try to read one more int (after dot). + if (readOneToken(StartWithWhitespace::Deny) == Type::Int) { + result = uniteLastTokens(Type::Double); + } + } + } else if (result == Type::Dot) { + if (readOneToken(StartWithWhitespace::Deny) == Type::Int) { + //We got dot and int, so it is double. + result = uniteLastTokens(Type::Double); + } + } + return result; +} + +Type BasicTokenizedFile::readOneToken(StartWithWhitespace condition) { + skipWhitespaces(); + if (tokenStartWhitespace_ && condition == StartWithWhitespace::Deny) { + return Type::Invalid; + } + if (reader_.atEnd()) { + return Type::Invalid; + } + + auto ch = reader_.currentChar(); + if (ch == '"') { + return readString(); + } else if (isNameChar(ch)) { + return readNameOrNumber(); + } + return readSingleLetter(); +} + +Type BasicTokenizedFile::saveToken(Type type, const QString &value) { + ConstUtf8String original = { tokenStart_, reader_.currentPtr() }; + tokens_.push_back({ type, value, original, tokenStartWhitespace_ }); + return type; +} + +Type BasicTokenizedFile::uniteLastTokens(Type type) { + auto size = tokens_.size(); + if (size < 2) { + return Type::Invalid; + } + + auto &token(tokens_[size - 2]); + auto originalFrom = token.original.data(); + auto originalTill = tokens_.back().original.end(); + token.type = type; + token.original = { originalFrom, originalTill }; + token.value += tokens_.back().value; + tokens_.pop_back(); + return type; +} + +Type BasicTokenizedFile::readNameOrNumber() { + bool onlyDigits = true; + while (!reader_.atEnd()) { + if (!isDigitChar(reader_.currentChar())) { + onlyDigits = false; + break; + } + reader_.skipChar(); + } + while (!reader_.atEnd()) { + if (!isNameChar(reader_.currentChar())) { + break; + } + reader_.skipChar(); + } + return saveToken(onlyDigits ? Type::Int : Type::Name); +} + +Type BasicTokenizedFile::readString() { + reader_.skipChar(); + auto offset = reader_.currentPtr(); + + QByteArray value; + while (!reader_.atEnd()) { + auto ch = reader_.currentChar(); + if (ch == '"') { + break; + } + if (ch == '\n') { + reader_.logError(kErrorUnterminatedStringLiteral, lineNumber_) << "unterminated string literal."; + failed_ = true; + return Type::Invalid; + } + if (ch == '\\') { + reader_.skipChar(); + ch = reader_.currentChar(); + if (reader_.atEnd() || ch == '\n') { + reader_.logError(kErrorUnterminatedStringLiteral, lineNumber_) << "unterminated string literal."; + failed_ = true; + return Type::Invalid; + } + if (reader_.currentPtr() > offset + 1) { + value.append(offset, reader_.currentPtr() - offset - 1); + } + offset = reader_.currentPtr() + 1; + if (ch == 'n') { + value.append('\n'); + } else if (ch == 't') { + value.append('\t'); + } else if (ch == '"') { + value.append('"'); + } else if (ch == '\\') { + value.append('\\'); + } + } else { + value.append(ch); + } + reader_.skipChar(); + } + if (reader_.atEnd()) { + reader_.logError(kErrorUnterminatedStringLiteral, lineNumber_) << "unterminated string literal."; + failed_ = true; + return Type::Invalid; + } + CheckedUtf8String checked(value); + if (!checked.isValid()) { + reader_.logError(kErrorIncorrectUtf8String, lineNumber_) << "incorrect UTF-8 string literal."; + failed_ = true; + return Type::Invalid; + } + reader_.skipChar(); + return saveToken(Type::String, checked.toString()); +} + +Type BasicTokenizedFile::readSingleLetter() { + auto type = singleLetterTokens_.value(reader_.currentChar(), Type::Invalid); + if (type == Type::Invalid) { + reader_.logError(kErrorIncorrectToken, lineNumber_) << "incorrect token '" << reader_.currentChar() << "'."; + return Type::Invalid; + } + + reader_.skipChar(); + return saveToken(type); +} + +void BasicTokenizedFile::skipWhitespaces() { + if (reader_.atEnd()) return; + + auto ch = reader_.currentChar(); + tokenStartWhitespace_ = isWhitespaceChar(ch); + if (tokenStartWhitespace_) { + do { + if (ch == '\n') { + ++lineNumber_; + } + reader_.skipChar(); + ch = reader_.currentChar(); + } while (!reader_.atEnd() && isWhitespaceChar(ch)); + } + tokenStart_ = reader_.currentPtr(); +} + +LogStream BasicTokenizedFile::logError(int code) const { + return reader_.logError(code, lineNumber_); +} + +LogStream BasicTokenizedFile::logErrorUnexpectedToken(const std::string &expected) const { + std::string expectedTail; + if (!expected.empty()) { + expectedTail = ", expected " + expected; + } + if (currentToken_ < tokens_.size()) { + auto token = tokens_.at(currentToken_).original.toStdString(); + return logError(kErrorUnexpectedToken) << "unexpected token '" << token << '\'' << expectedTail << '.'; + } + return logError(kErrorUnexpectedToken) << "unexpected token" << expectedTail << '.'; +} + +BasicTokenizedFile::~BasicTokenizedFile() = default; + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h new file mode 100644 index 000000000..67b001736 --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h @@ -0,0 +1,151 @@ +/* +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 +#include +#include +#include + +#include "codegen/common/const_utf8_string.h" +#include "codegen/common/clean_file_reader.h" + +namespace codegen { +namespace common { + +class LogStream; + +// Interface for reading a cleaned from comments file by basic tokens. +class BasicTokenizedFile { +public: + BasicTokenizedFile(const QString &filepath); + BasicTokenizedFile(const BasicTokenizedFile &other) = delete; + BasicTokenizedFile &operator=(const BasicTokenizedFile &other) = delete; + + struct Token { + // String - utf8 string converted to QString. + enum class Type { + Invalid = 0, + Int, + Double, + String, + LeftParenthesis, + RightParenthesis, + LeftBrace, + RightBrace, + LeftBracket, + RightBracket, + Colon, + Semicolon, + Comma, + Dot, + Number, + Plus, + Minus, + Equals, + Name, // [0-9a-zA-Z_]+ with at least one letter. + }; + Type type; + QString value; + ConstUtf8String original; + bool hasLeftWhitespace; + + explicit operator bool() const { + return (type != Type::Invalid); + } + }; + + bool read() { + return reader_.read(); + } + bool atEnd() const { + return reader_.atEnd(); + } + + Token getAnyToken(); + Token getToken(Token::Type typeCondition); + bool putBack(); + bool failed() const { + return failed_; + } + + // Log error to std::cerr with 'code' at the current position in file. + LogStream logError(int code) const; + LogStream logErrorUnexpectedToken(const std::string &expected = std::string()) const; + + ~BasicTokenizedFile(); + +private: + using Type = Token::Type; + + void skipWhitespaces(); + + // Reads a token, including complex tokens, like double numbers. + Type readToken(); + + // Read exactly one token, applying condition on the whitespaces. + enum class StartWithWhitespace { + Allow, + Deny, + }; + Type readOneToken(StartWithWhitespace condition); + + // helpers + Type readNameOrNumber(); + Type readString(); + Type readSingleLetter(); + + Type saveToken(Type type, const QString &value = QString()); + Type uniteLastTokens(Type type); + + CleanFileReader reader_; + QList tokens_; + int currentToken_ = 0; + int lineNumber_ = 1; + bool failed_ = false; + + // Where the last (currently read) token has started. + const char *tokenStart_ = nullptr; + + // Did the last (currently read) token start with a whitespace. + bool tokenStartWhitespace_ = false; + + const QMap singleLetterTokens_ = { + { '(', Type::LeftParenthesis }, + { ')', Type::RightParenthesis }, + { '{', Type::LeftBrace }, + { '}', Type::RightBrace }, + { '[', Type::LeftBracket }, + { ']', Type::RightBracket }, + { ':', Type::Colon }, + { ';', Type::Semicolon }, + { ',', Type::Comma }, + { '.', Type::Dot }, + { '#', Type::Number }, + { '+', Type::Plus }, + { '-', Type::Minus }, + { '=', Type::Equals }, + }; + +}; + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/checked_utf8_string.cpp b/Telegram/SourceFiles/codegen/common/checked_utf8_string.cpp new file mode 100644 index 000000000..96f7323ff --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/checked_utf8_string.cpp @@ -0,0 +1,54 @@ +/* +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 "codegen/common/checked_utf8_string.h" + +#include +#include + +#include "codegen/common/const_utf8_string.h" + +namespace codegen { +namespace common { + +CheckedUtf8String::CheckedUtf8String(const char *string, int size) { + if (size < 0) { + size = strlen(string); + } + if (!size) { // Valid empty string + return; + } + + QTextCodec::ConverterState state; + QTextCodec *codec = QTextCodec::codecForName("UTF-8"); + string_ = codec->toUnicode(string, size, &state); + if (state.invalidChars > 0) { + valid_ = false; + } +} + +CheckedUtf8String::CheckedUtf8String(const QByteArray &string) : CheckedUtf8String(string.constData(), string.size()) { +} + +CheckedUtf8String::CheckedUtf8String(const ConstUtf8String &string) : CheckedUtf8String(string.data(), string.size()) { +} + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/checked_utf8_string.h b/Telegram/SourceFiles/codegen/common/checked_utf8_string.h new file mode 100644 index 000000000..5ce217067 --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/checked_utf8_string.h @@ -0,0 +1,57 @@ +/* +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 + +class QByteArray; + +namespace codegen { +namespace common { + +class ConstUtf8String; + +// Parses a char sequence to a QString using UTF-8 codec. +// You can check for invalid UTF-8 sequence by isValid() method. +class CheckedUtf8String { +public: + CheckedUtf8String(const CheckedUtf8String &other) = default; + CheckedUtf8String &operator=(const CheckedUtf8String &other) = default; + + CheckedUtf8String(const char *string, int size = -1); + CheckedUtf8String(const QByteArray &string); + CheckedUtf8String(const ConstUtf8String &string); + + bool isValid() const { + return valid_; + } + const QString &toString() const { + return string_; + } + +private: + QString string_; + bool valid_ = true; + +}; + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/clean_file.cpp b/Telegram/SourceFiles/codegen/common/clean_file.cpp new file mode 100644 index 000000000..154084792 --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/clean_file.cpp @@ -0,0 +1,159 @@ +/* +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 "codegen/common/clean_file.h" + +#include +#include + +#include "codegen/common/logging.h" + +namespace codegen { +namespace common { +namespace { + +constexpr int kErrorFileNotFound = 101; +constexpr int kErrorFileTooLarge = 102; +constexpr int kErrorFileNotOpened = 103; +constexpr int kErrorUnexpectedEndOfFile = 104; + +bool readFile(const QString &filepath, QByteArray *outResult) { + QFile f(filepath); + if (!f.exists()) { + logError(kErrorFileNotFound, filepath) << ": error: file does not exist."; + return false; + } + if (f.size() > CleanFile::MaxSize) { + logError(kErrorFileTooLarge, filepath) << "' is too large, size=" << f.size() << " > maxsize=" << CleanFile::MaxSize; + return false; + } + if (!f.open(QIODevice::ReadOnly)) { + logError(kErrorFileNotOpened, filepath) << "' for read."; + return false; + } + *outResult = f.readAll(); + return true; +} + +} // namespace + + +CleanFile::CleanFile(const QString &filepath) : filepath_(filepath) { +} + +bool CleanFile::read() { + QByteArray content; + if (!readFile(filepath_, &content)) { + return false; + } + filepath_ = QFileInfo(filepath_).absoluteFilePath(); + + enum class InsideComment { + None, + SingleLine, + MultiLine, + }; + auto insideComment = InsideComment::None; + bool insideString = false; + + const char *begin = content.cbegin(), *end = content.cend(), *offset = begin; + auto feedContent = [this, &offset, end](const char *ch) { + if (ch > offset) { + if (content_.isEmpty()) content_.reserve(end - offset - 2); + content_.append(offset, ch - offset); + offset = ch; + } + }; + auto feedComment = [this, &offset, end](const char *ch) { + if (ch > offset) { +// comments_.push_back({ content_.size(), QByteArray(offset, ch - offset) }); + if (content_.isEmpty()) content_.reserve(end - offset - 2); + content_.append(' '); + offset = ch; + } + }; + for (const char *ch = offset; ch != end;) { + char currentChar = *ch; + char nextChar = (ch + 1 == end) ? 0 : *(ch + 1); + + if (insideComment == InsideComment::None && currentChar == '"') { + bool escaped = ((ch > begin) && *(ch - 1) == '\\') && ((ch - 1 < begin) || *(ch - 2) != '\\'); + if (!escaped) { + insideString = !insideString; + } + } + if (insideString) { + ++ch; + continue; + } + + if (insideComment == InsideComment::None && currentChar == '/' && nextChar == '/') { + feedContent(ch); + insideComment = InsideComment::SingleLine; + ch += 2; + } else if (insideComment == InsideComment::SingleLine && currentChar == '\r' && nextChar == '\n') { + feedComment(ch); + ch += 2; + insideComment = InsideComment::None; + } else if (insideComment == InsideComment::SingleLine && currentChar == '\n') { + feedComment(ch); + ++ch; + insideComment = InsideComment::None; + } else if (insideComment == InsideComment::None && currentChar == '/' && nextChar == '*') { + feedContent(ch); + ch += 2; + insideComment = InsideComment::MultiLine; + } else if (insideComment == InsideComment::MultiLine && currentChar == '*' && nextChar == '/') { + ch += 2; + feedComment(ch); + insideComment = InsideComment::None; + } else if (insideComment == InsideComment::MultiLine && currentChar == '\r' && nextChar == '\n') { + feedComment(ch); + ch += 2; + feedContent(ch); + } else if (insideComment == InsideComment::MultiLine && currentChar == '\n') { + feedComment(ch); + ++ch; + feedContent(ch); + } else { + ++ch; + } + } + + if (insideComment == InsideComment::MultiLine) { + common::logError(kErrorUnexpectedEndOfFile, filepath_); + return false; + } + if (insideComment == InsideComment::None && end > offset) { + if (content_.isEmpty()) { + content_ = content; + } else { + content_.append(offset, end - offset); + } + } + return true; +} + +LogStream CleanFile::logError(int code, int line) const { + return common::logError(code, filepath_, line); +} + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/clean_file.h b/Telegram/SourceFiles/codegen/common/clean_file.h new file mode 100644 index 000000000..80d4f73e3 --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/clean_file.h @@ -0,0 +1,66 @@ +/* +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 +#include +#include + +#include "codegen/common/logging.h" + +namespace codegen { +namespace common { + +// Reads a file removing all C-style comments. +class CleanFile { +public: + CleanFile(const QString &filepath); + CleanFile(const CleanFile &other) = delete; + CleanFile &operator=(const CleanFile &other) = delete; + + bool read(); + + const char *data() const { + return content_.constData(); + } + const char *end() const { + return content_.constEnd(); + } + + static constexpr int MaxSize = 10 * 1024 * 1024; + + // Log error to std::cerr with 'code' at line number 'line' in data(). + LogStream logError(int code, int line) const; + +private: + QString filepath_; + + QByteArray content_; + //struct Comment { + // int offset; + // QByteArray content; + //}; + //QVector comments_; + +}; + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/clean_file_reader.h b/Telegram/SourceFiles/codegen/common/clean_file_reader.h new file mode 100644 index 000000000..18c8ee31e --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/clean_file_reader.h @@ -0,0 +1,75 @@ +/* +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 + +#include "codegen/common/clean_file.h" + +namespace codegen { +namespace common { + +// Wrapper allows you to read forward the CleanFile without overflow checks. +class CleanFileReader { +public: + CleanFileReader(const QString &filepath) : file_(filepath) { + } + + bool read() { + if (!file_.read()) { + return false; + } + pos_ = file_.data(); + end_ = file_.end(); + return true; + } + bool atEnd() const { + return (pos_ == end_); + } + char currentChar() const { + return atEnd() ? 0 : *pos_; + } + bool skipChar() { + if (atEnd()) { + return false; + } + ++pos_; + return true; + } + const char *currentPtr() const { + return pos_; + } + + // Log error to std::cerr with 'code' at line number 'line' in data(). + LogStream logError(int code, int line) const { + return std::forward(file_.logError(code, line)); + } + + +private: + CleanFile file_; + const char *pos_ = nullptr; + const char *end_ = nullptr; + +}; + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/const_utf8_string.h b/Telegram/SourceFiles/codegen/common/const_utf8_string.h new file mode 100644 index 000000000..18f0849c8 --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/const_utf8_string.h @@ -0,0 +1,75 @@ +/* +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 +#include +#include + +namespace codegen { +namespace common { + +// This is a simple wrapper around (const char*, size). +// Not null-terminated! It does not hold any ownership. +class ConstUtf8String { +public: + ConstUtf8String(const char *string, int size = -1) : string_(string) { + if (size < 0) { + size = strlen(string); + } + size_ = size; + } + ConstUtf8String(const char *string, const char *end) : ConstUtf8String(string, end - string) { + } + + QByteArray toByteArray() const { + return QByteArray(string_, size_); + } + std::string toStdString() const { + return std::string(string_, size_); + } + QString toStringUnchecked() const { + return QString::fromUtf8(string_, size_); + } + bool empty() const { + return size_ == 0; + } + const char *data() const { + return string_; + } + int size() const { + return size_; + } + const char *end() const { + return data() + size(); + } + ConstUtf8String mid(int pos, int size = -1) { + return ConstUtf8String(string_ + pos, std::max(std::min(size, size_ - pos), 0)); + } + +private: + const char *string_; + int size_; + +}; + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/logging.cpp b/Telegram/SourceFiles/codegen/common/logging.cpp new file mode 100644 index 000000000..917020a5e --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/logging.cpp @@ -0,0 +1,47 @@ +/* +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 "codegen/common/logging.h" + +#include +#include + +namespace codegen { +namespace common { +namespace { + +std::string relativeLocalPath(const QString &filepath) { + auto name = QFile::encodeName(QDir().relativeFilePath(filepath)); + return name.constData(); +} + +} // namespace + +LogStream logError(int code, const QString &filepath, int line) { + std::cerr << relativeLocalPath(filepath); + if (line > 0) { + std::cerr << '(' << line << ')'; + } + std::cerr << ": error " << code << ": "; + return LogStream(std::cerr); +} + +} // namespace common +} // namespace codegen \ No newline at end of file diff --git a/Telegram/SourceFiles/codegen/common/logging.h b/Telegram/SourceFiles/codegen/common/logging.h new file mode 100644 index 000000000..1aa1f1481 --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/logging.h @@ -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 +*/ +#pragma once + +#include +#include + +namespace codegen { +namespace common { + +// Wrapper around std::ostream that adds '\n' to the end of the logging line. +class LogStream { +public: + explicit LogStream(std::ostream &stream) : stream_(stream) { + } + LogStream(LogStream &&other) : stream_(other.stream_) { + other.final_ = false; + } + std::ostream &stream() const { + return stream_; + } + ~LogStream() { + if (final_) { + stream_ << '\n'; + } + } + +private: + std::ostream &stream_; + bool final_ = true; + +}; + +template +LogStream operator<<(LogStream &&stream, T &&value) { + stream.stream() << value; + return std::forward(stream); +} + +// Outputs file name, line number and error code to std::err. Usage: +// logError(kErrorFileTooLarge, filepath) << "file too large, size=" << size; +LogStream logError(int code, const QString &filepath, int line = 0); + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/generator.cpp b/Telegram/SourceFiles/codegen/style/generator.cpp new file mode 100644 index 000000000..70a917d3c --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/generator.cpp @@ -0,0 +1,62 @@ +/* +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 "codegen/style/generator.h" + +#include +#include "codegen/style/tokenized_file.h" + +using Token = codegen::style::TokenizedFile::Token; +using Type = Token::Type; + +namespace codegen { +namespace style { +namespace { + +} // namespace + +Generator::Generator(const QString &filepath, bool rebuildDependencies) +: file_(std::make_unique(filepath)) +, rebuild_(rebuildDependencies) { + +} + +int Generator::process() { + if (!file_->read()) { + return -1; + } + + while (true) { + auto token = file_->getToken(); + if (token.type == Type::Using) { + continue; + } + if (file_->atEnd() && !file_->failed()) { + break; + } + return -1; + } + return 0; +} + +Generator::~Generator() = default; + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/generator.h b/Telegram/SourceFiles/codegen/style/generator.h new file mode 100644 index 000000000..57e922267 --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/generator.h @@ -0,0 +1,50 @@ +/* +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 +#include + +namespace codegen { +namespace style { + +class TokenizedFile; + +// Walks through a file, parses it and parses dependency files if necessary. +class Generator { +public: + Generator(const QString &filepath, bool rebuildDependencies); + Generator(const Generator &other) = delete; + Generator &operator=(const Generator &other) = delete; + + // Returns 0 on success. + int process(); + + ~Generator(); + +private: + std::unique_ptr file_; + bool rebuild_; + +}; + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/main.cpp b/Telegram/SourceFiles/codegen/style/main.cpp index a553b5173..951f34b32 100644 --- a/Telegram/SourceFiles/codegen/style/main.cpp +++ b/Telegram/SourceFiles/codegen/style/main.cpp @@ -1,3 +1,43 @@ +/* +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 +#include + +#include "codegen/style/generator.h" + +using namespace codegen::style; + int main(int argc, char *argv[]) { - return 0; + QCoreApplication app(argc, argv); + + QString filepath; + bool rebuildOtherFiles = false; + for (const auto &arg : app.arguments()) { + if (arg == "--rebuild") { + rebuildOtherFiles = true; + } else { + filepath = arg; + } + } + + Generator generator(filepath, rebuildOtherFiles); + return generator.process(); } diff --git a/Telegram/SourceFiles/codegen/style/tokenized_file.cpp b/Telegram/SourceFiles/codegen/style/tokenized_file.cpp new file mode 100644 index 000000000..784848e85 --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/tokenized_file.cpp @@ -0,0 +1,136 @@ +/* +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 "codegen/style/tokenized_file.h" + +#include +#include + +#include "codegen/common/basic_tokenized_file.h" +#include "codegen/common/logging.h" + +using Token = codegen::style::TokenizedFile::Token; +using Type = Token::Type; +using BasicToken = codegen::common::BasicTokenizedFile::Token; +using BasicType = BasicToken::Type; + +namespace codegen { +namespace style { +namespace { + +QString plainValue(const BasicToken &token) { + return token.original.toStringUnchecked(); +} + +Token invalidToken() { + return { Type::Invalid, QString() }; +} + +} // namespace + +TokenizedFile::TokenizedFile(const QString &filepath) : file_(filepath) { +} + +bool TokenizedFile::putBack() { + if (currentToken_ > 0) { + --currentToken_; + return true; + } + return false; +} + +Token TokenizedFile::getToken() { + if (currentToken_ >= tokens_.size()) { + if (readToken() == Type::Invalid) { + return invalidToken(); + } + } + return tokens_.at(currentToken_++); +} + +Type TokenizedFile::readToken() { + switch (state_) { + case State::Default: return readInDefault(); + case State::StructStarted: return readInStructStarted(); + case State::StructFieldName: return readInStructFieldName(); + case State::Variable: return readInVariable(); + case State::VariableParents: return readInVariableParents(); + case State::VariableStarted: return readInVariableStarted(); + case State::VariableChild: return readInVariableChild(); + } + return Type::Invalid; +} + +Type TokenizedFile::readInDefault() { + if (auto basicToken = file_.getToken(BasicType::Name)) { + if (plainValue(basicToken) == "using") { + if (auto usingFile = file_.getToken(BasicType::String)) { + if (file_.getToken(BasicType::Semicolon)) { + return saveToken(Type::Using, usingFile.value); + } + file_.logErrorUnexpectedToken("';'"); + } else { + file_.logErrorUnexpectedToken("file path"); + } + return Type::Invalid; + } + if (auto braceToken = file_.getToken(BasicType::LeftBrace)) { + state_ = State::StructStarted; + return saveToken(Type::DefineStruct, plainValue(basicToken)); + } else if (auto colonToken = file_.getToken(BasicType::Colon)) { + state_ = State::Variable; + return saveToken(Type::DefineVariable, plainValue(basicToken)); + } + file_.logErrorUnexpectedToken("using keyword, or struct definition, or variable definition"); + } + return Type::Invalid; +} + +Type TokenizedFile::readInStructStarted() { + return Type::Invalid; +} + +Type TokenizedFile::readInStructFieldName() { + return Type::Invalid; +} + +Type TokenizedFile::readInVariable() { + return Type::Invalid; +} + +Type TokenizedFile::readInVariableParents() { + return Type::Invalid; +} + +Type TokenizedFile::readInVariableStarted() { + return Type::Invalid; +} + +Type TokenizedFile::readInVariableChild() { + return Type::Invalid; +} + +Type TokenizedFile::saveToken(Type type, const QString &value) { + tokens_.push_back({ type, value }); + return type; +} + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/tokenized_file.h b/Telegram/SourceFiles/codegen/style/tokenized_file.h new file mode 100644 index 000000000..5e4ac2afc --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/tokenized_file.h @@ -0,0 +1,127 @@ +/* +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 +#include +#include +#include "codegen/common/basic_tokenized_file.h" + +namespace codegen { +namespace style { + +// Parses a file as a list of tokens. +class TokenizedFile { +public: + TokenizedFile(const QString &filepath); + TokenizedFile(const TokenizedFile &other) = delete; + TokenizedFile &operator=(const TokenizedFile &other) = delete; + + using ConstUtf8String = common::ConstUtf8String; + struct Token { + enum class Type { + Invalid, + + Using, + + DefineStruct, + DefineField, + FieldType, + + DefineVariable, + Struct, + StructParent, + + Int, + Double, + Pixels, + String, + Color, + Point, + Sprite, + Size, + Transition, + Cursor, + Align, + Margins, + Font, + }; + Type type; + QString value; + + explicit operator bool() const { + return type != Type::Invalid; + } + }; + + bool read() { + return file_.read(); + } + bool atEnd() const { + return file_.atEnd(); + } + + Token getToken(); + bool putBack(); + bool failed() const { + return file_.failed(); + } + + // Log error to std::cerr with 'code' at the current position in file. + common::LogStream logError(int code) const { + return file_.logError(code); + } + +private: + using Type = Token::Type; + Type readToken(); + + // State value defines what are we waiting next. + enum class State { + Default, // [ using | struct name | variable name | end ] + StructStarted, // [ struct field name | struct end ] + StructFieldName, // [ struct field type ] + Variable, // [ struct name | variable value ] + VariableParents, // [ variable parent name | variable start ] + VariableStarted, // [ variable field name | variable end] + VariableChild, // [ variable child value ] + }; + + // Helper methods for readToken() being in specific State. + Type readInDefault(); + Type readInStructStarted(); + Type readInStructFieldName(); + Type readInVariable(); + Type readInVariableParents(); + Type readInVariableStarted(); + Type readInVariableChild(); + + Type saveToken(Type type, const QString &value = QString()); + + common::BasicTokenizedFile file_; + QList tokens_; + int currentToken_ = 0; + State state_ = State::Default; + +}; + +} // namespace style +} // namespace codegen diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index dc2676a0b..3f3b24616 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -2378,8 +2378,12 @@ + + + + diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index 9257f6659..964d49b76 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -1535,4 +1535,9 @@ Version + + + Resources + + \ No newline at end of file diff --git a/Telegram/build/vc/codegen_style/codegen_style.targets b/Telegram/build/vc/codegen_style/codegen_style.targets new file mode 100644 index 000000000..541943db3 --- /dev/null +++ b/Telegram/build/vc/codegen_style/codegen_style.targets @@ -0,0 +1,20 @@ + + + + + + GenerateStyleCode + + + + + + + + + + diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj b/Telegram/build/vc/codegen_style/codegen_style.vcxproj index b1f24fc30..d39bf6a24 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj @@ -11,8 +11,24 @@ + + + + + + + + + + + + + + + + {E4DF8176-4DEF-4859-962F-B497E3E7A323} Qt4VSv1.0 @@ -41,11 +57,12 @@ <_ProjectFileVersion>14.0.24730.2 + $(SolutionDir)$(Platform)\obj\$(ProjectName)\$(Configuration)\ $(SolutionDir)$(Platform)\codegen\$(Configuration)\ - $(SolutionDir)$(Platform)\obj\$(ProjectName)\ - $(SolutionDir)$(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\codegen\$(Configuration)\ + $(SolutionDir)$(Platform)\obj\$(ProjectName)\$(Configuration)\ @@ -53,8 +70,11 @@ Disabled ProgramDatabase MultiThreadedDebug - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories) + .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) true + Level4 + true + /w44062 /wd4127 %(AdditionalOptions) Console @@ -71,8 +91,9 @@ MultiThreadedDLL .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories) true - EnableAllWarnings + Level4 true + /w44062 /wd4127 %(AdditionalOptions) Console diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters b/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters index 3263d5640..560b5962e 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters @@ -1,28 +1,64 @@  - + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;cxx;c;def - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h + + {e722d237-774c-46d8-91c4-732e0c12d848} - - {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E} - qrc;* - false - - - {71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11} - moc;h;cpp - False + + {fbf050c2-2ecd-4469-a24f-1dcf27e2520f} - Source Files + src\style + + + src\common + + + src\common + + + src\style + + + src\common + + + src\common + + + src\style + + + src\style + + + src\common + + + src\common + + + src\common + + + src\common + + + src\common + + + src\common + + + src\style + + \ No newline at end of file diff --git a/Telegram/build/vc/codegen_style/codegen_style.xml b/Telegram/build/vc/codegen_style/codegen_style.xml new file mode 100644 index 000000000..ec7c0755e --- /dev/null +++ b/Telegram/build/vc/codegen_style/codegen_style.xml @@ -0,0 +1,6 @@ + + + + + + From 45bd2dc5fabc7a458c5a9a1ec8b312533ad3f039 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 17 Apr 2016 12:30:14 +0300 Subject: [PATCH 02/16] codegen_style: preparing to parse the whole input file. --- Telegram/Resources/all_files.style | 6 +- .../codegen/common/basic_tokenized_file.cpp | 4 +- .../SourceFiles/codegen/style/generator.cpp | 34 +- .../SourceFiles/codegen/style/generator.h | 21 +- Telegram/SourceFiles/codegen/style/main.cpp | 14 +- .../SourceFiles/codegen/style/options.cpp | 90 ++++++ Telegram/SourceFiles/codegen/style/options.h | 40 +++ .../SourceFiles/codegen/style/parsed_file.cpp | 301 ++++++++++++++++++ .../style/{tokenized_file.h => parsed_file.h} | 99 +++--- .../SourceFiles/codegen/style/structure.h | 87 +++++ .../codegen/style/tokenized_file.cpp | 136 -------- .../vc/codegen_style/codegen_style.vcxproj | 7 +- .../codegen_style.vcxproj.filters | 13 +- 13 files changed, 637 insertions(+), 215 deletions(-) create mode 100644 Telegram/SourceFiles/codegen/style/options.cpp create mode 100644 Telegram/SourceFiles/codegen/style/options.h create mode 100644 Telegram/SourceFiles/codegen/style/parsed_file.cpp rename Telegram/SourceFiles/codegen/style/{tokenized_file.h => parsed_file.h} (57%) create mode 100644 Telegram/SourceFiles/codegen/style/structure.h delete mode 100644 Telegram/SourceFiles/codegen/style/tokenized_file.cpp diff --git a/Telegram/Resources/all_files.style b/Telegram/Resources/all_files.style index 93a8e078e..09d45ede9 100644 --- a/Telegram/Resources/all_files.style +++ b/Telegram/Resources/all_files.style @@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ // Legacy styles -using "./style_classes.txt"; -using "./style.txt"; +using "Resources/style_classes.txt"; +using "Resources/style.txt"; -//using "./../SourceFiles/overview/overview.style"; +//using "overview/overview.style"; diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp index 1619fcc80..4bd5cf02e 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp @@ -148,18 +148,18 @@ Type BasicTokenizedFile::uniteLastTokens(Type type) { } Type BasicTokenizedFile::readNameOrNumber() { - bool onlyDigits = true; while (!reader_.atEnd()) { if (!isDigitChar(reader_.currentChar())) { - onlyDigits = false; break; } reader_.skipChar(); } + bool onlyDigits = true; while (!reader_.atEnd()) { if (!isNameChar(reader_.currentChar())) { break; } + onlyDigits = false; reader_.skipChar(); } return saveToken(onlyDigits ? Type::Int : Type::Name); diff --git a/Telegram/SourceFiles/codegen/style/generator.cpp b/Telegram/SourceFiles/codegen/style/generator.cpp index 70a917d3c..031b1ae3f 100644 --- a/Telegram/SourceFiles/codegen/style/generator.cpp +++ b/Telegram/SourceFiles/codegen/style/generator.cpp @@ -21,10 +21,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "codegen/style/generator.h" #include -#include "codegen/style/tokenized_file.h" - -using Token = codegen::style::TokenizedFile::Token; -using Type = Token::Type; +#include "codegen/style/parsed_file.h" namespace codegen { namespace style { @@ -32,30 +29,35 @@ namespace { } // namespace -Generator::Generator(const QString &filepath, bool rebuildDependencies) -: file_(std::make_unique(filepath)) -, rebuild_(rebuildDependencies) { +Generator::Generator(const Options &options) +: parser_(std::make_unique(options)) +, options_(options) { } int Generator::process() { - if (!file_->read()) { + if (!parser_->read()) { return -1; } - while (true) { - auto token = file_->getToken(); - if (token.type == Type::Using) { - continue; - } - if (file_->atEnd() && !file_->failed()) { - break; - } + const auto &result = parser_->data(); + if (!write(result)) { return -1; } + if (options_.rebuildDependencies) { + for (auto included : result.includes) { + if (!write(included)) { + return -1; + } + } + } return 0; } +bool Generator::write(const structure::Module &) const { + return true; +} + Generator::~Generator() = default; } // namespace style diff --git a/Telegram/SourceFiles/codegen/style/generator.h b/Telegram/SourceFiles/codegen/style/generator.h index 57e922267..dbb9601f6 100644 --- a/Telegram/SourceFiles/codegen/style/generator.h +++ b/Telegram/SourceFiles/codegen/style/generator.h @@ -22,16 +22,21 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include +#include + +#include "codegen/style/options.h" namespace codegen { namespace style { - -class TokenizedFile; +namespace structure { +struct Module; +} // namespace structure +class ParsedFile; // Walks through a file, parses it and parses dependency files if necessary. class Generator { public: - Generator(const QString &filepath, bool rebuildDependencies); + Generator(const Options &options); Generator(const Generator &other) = delete; Generator &operator=(const Generator &other) = delete; @@ -41,8 +46,14 @@ public: ~Generator(); private: - std::unique_ptr file_; - bool rebuild_; + bool write(const structure::Module &module) const; + + std::unique_ptr parser_; + const Options &options_; + + // List of files we need to generate with other instance of Generator. + // It is not empty only if rebuild_ flag is true. + QStringList dependenciesToGenerate_; }; diff --git a/Telegram/SourceFiles/codegen/style/main.cpp b/Telegram/SourceFiles/codegen/style/main.cpp index 951f34b32..b61d9ce11 100644 --- a/Telegram/SourceFiles/codegen/style/main.cpp +++ b/Telegram/SourceFiles/codegen/style/main.cpp @@ -22,22 +22,18 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include "codegen/style/generator.h" +#include "codegen/style/options.h" using namespace codegen::style; int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); - QString filepath; - bool rebuildOtherFiles = false; - for (const auto &arg : app.arguments()) { - if (arg == "--rebuild") { - rebuildOtherFiles = true; - } else { - filepath = arg; - } + Options options = parseOptions(); + if (options.inputPath.isEmpty()) { + return -1; } - Generator generator(filepath, rebuildOtherFiles); + Generator generator(options); return generator.process(); } diff --git a/Telegram/SourceFiles/codegen/style/options.cpp b/Telegram/SourceFiles/codegen/style/options.cpp new file mode 100644 index 000000000..a7d880e17 --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/options.cpp @@ -0,0 +1,90 @@ +/* +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 "codegen/style/options.h" + +#include +#include +#include "codegen/common/logging.h" + +namespace codegen { +namespace style { +namespace { + +constexpr int kErrorIncludePathExpected = 901; +constexpr int kErrorOutputPathExpected = 902; +constexpr int kErrorInputPathExpected = 903; +constexpr int kErrorSingleInputPathExpected = 904; + +} // namespace + +using common::logError; + +Options parseOptions() { + Options result; + auto args(QCoreApplication::instance()->arguments()); + for (auto i = args.cbegin(), e = args.cend(); i != e; ++i) { + const auto &arg(*i); + + // Rebuild all dependencies + if (arg == "--rebuild") { + result.rebuildDependencies = true; + + // Include paths + } else if (arg == "-I") { + if (++i == e) { + logError(kErrorIncludePathExpected, "Command Line") << "include path expected after -I"; + return Options(); + } else { + result.includePaths.push_back(*i); + } + } else if (arg.startsWith("-I")) { + result.includePaths.push_back(arg.mid(2)); + + // Output path + } else if (arg == "-o") { + if (++i == e) { + logError(kErrorOutputPathExpected, "Command Line") << "output path expected after -o"; + return Options(); + } else { + result.outputPath = *i; + } + } else if (arg.startsWith("-o")) { + result.outputPath = arg.mid(2); + + // Input path + } else { + if (result.inputPath.isEmpty()) { + result.inputPath = arg; + } else { + logError(kErrorSingleInputPathExpected, "Command Line") << "only one input path expected"; + return Options(); + } + } + } + if (result.inputPath.isEmpty()) { + logError(kErrorInputPathExpected, "Command Line") << "input path expected"; + return Options(); + } + return result; +} + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/options.h b/Telegram/SourceFiles/codegen/style/options.h new file mode 100644 index 000000000..34746ee2d --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/options.h @@ -0,0 +1,40 @@ +/* +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 +#include + +namespace codegen { +namespace style { + +struct Options { + QStringList includePaths = { "." }; + QString outputPath = "."; + QString inputPath; + bool rebuildDependencies = false; +}; + +// Parsing failed if inputPath is empty in the result. +Options parseOptions(); + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.cpp b/Telegram/SourceFiles/codegen/style/parsed_file.cpp new file mode 100644 index 000000000..4ca4aa701 --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/parsed_file.cpp @@ -0,0 +1,301 @@ +/* +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 "codegen/style/parsed_file.h" + +#include +#include +#include +#include "codegen/common/basic_tokenized_file.h" +#include "codegen/common/logging.h" + +using Token = codegen::style::ParsedFile::Token; +using Type = Token::Type; +using BasicToken = codegen::common::BasicTokenizedFile::Token; +using BasicType = BasicToken::Type; + +namespace codegen { +namespace style { +namespace { + +QString plainValue(const BasicToken &token) { + return token.original.toStringUnchecked(); +} + +Token invalidToken() { + return { Type::Invalid, QString() }; +} + +} // namespace + +ParsedFile::ParsedFile(const Options &options) +: file_(options.inputPath) +, options_(options) { +} + +bool ParsedFile::read() { + if (!file_.read()) { + return false; + } + + for (auto token = readInDefault(); token; token = readInDefault()) { + if (token.type == Type::Using) { + auto includedOptions = options_; +// includedOptions.inputPath = findIncludePath(token.value); + ParsedFile included(includedOptions); + if (!included.read()) { + return false; + } + result_.includes.push_back(included.data()); + //} else if (token.type == Type::DefineStructStart) { + // if (!read) + } + } + return !failed(); +} + +Token ParsedFile::readToken() { + switch (state_) { + case State::Default: return readInDefault(); + case State::StructStarted: return readInStructStarted(); + case State::StructFieldName: return readInStructFieldName(); + case State::Variable: return readInVariable(); + case State::VariableParents: return readInVariableParents(); + case State::VariableStarted: return readInVariableStarted(); + case State::VariableChild: return readInVariableChild(); + } + return invalidToken(); +} + +Token ParsedFile::readInDefault() { + if (auto startToken = file_.getToken(BasicType::Name)) { + if (plainValue(startToken) == "using") { + if (auto usingFile = file_.getToken(BasicType::String)) { + if (file_.getToken(BasicType::Semicolon)) { + return { Type::Using, usingFile.value }; + } + logErrorUnexpectedToken("';'"); + } else { + logErrorUnexpectedToken("file path"); + } + return invalidToken(); + } else if (auto braceOpen = file_.getToken(BasicType::LeftBrace)) { + state_ = State::StructStarted; + return { Type::DefineStructStart, plainValue(startToken) }; + } else if (auto colonToken = file_.getToken(BasicType::Colon)) { + state_ = State::Variable; + return { Type::DefineVariable, plainValue(startToken) }; + } + } + if (!file_.atEnd()) { + logErrorUnexpectedToken("using keyword, or struct definition, or variable definition"); + } + return invalidToken(); +} + +Token ParsedFile::readInStructStarted() { + if (auto fieldName = file_.getToken(BasicType::Name)) { + state_ = State::StructFieldName; + return { Type::DefineStructField, plainValue(fieldName) }; + } else if (auto braceClose = file_.getToken(BasicType::RightBrace)) { + state_ = State::Default; + return { Type::DefineStructEnd }; + } + logErrorUnexpectedToken("struct field name or '}'"); + return invalidToken(); +} + +Token ParsedFile::readInStructFieldName() { + if (auto colonToken = file_.getToken(BasicType::Colon)) { + if (auto fieldType = file_.getToken(BasicType::Name)) { + if (file_.getToken(BasicType::Semicolon)) { + state_ = State::StructStarted; + return { Type::StructFieldType, plainValue(fieldType) }; + } + logErrorUnexpectedToken(";"); + } else { + logErrorUnexpectedToken("struct field type name"); + } + } else { + logErrorUnexpectedToken("':'"); + } + return invalidToken(); +} + +Token ParsedFile::readInVariable() { + if (auto value = readValueToken()) { + if (file_.getToken(BasicType::Semicolon)) { + state_ = State::Default; + return value; + } + logErrorUnexpectedToken(";"); + return invalidToken(); + } + if (failed()) { + return invalidToken(); + } + + if (auto structName = file_.getToken(BasicType::Name)) { + if (file_.getToken(BasicType::LeftParenthesis)) { + state_ = State::VariableParents; + return { Type::StructStart, plainValue(structName) }; + } else if (file_.getToken(BasicType::LeftBrace)) { + state_ = State::VariableStarted; + return { Type::StructStart, plainValue(structName) }; + } else { + logErrorUnexpectedToken("'(' or '{'"); + } + } else { + logErrorUnexpectedToken("variable value"); + } + return invalidToken(); +} + +Token ParsedFile::readInVariableParents() { + if (auto parentName = file_.getToken(BasicType::Name)) { + if (file_.getToken(BasicType::Comma)) { + return { Type::StructParent, plainValue(parentName) }; + } else if (file_.getToken(BasicType::RightParenthesis)) { + if (file_.getToken(BasicType::LeftBrace)) { + state_ = State::VariableStarted; + return { Type::StructParent, plainValue(parentName) }; + } + logErrorUnexpectedToken("'{'"); + } else { + logErrorUnexpectedToken("',' or ')'"); + } + } else { + logErrorUnexpectedToken("struct variable parent"); + } + return invalidToken(); +} + +Token ParsedFile::readInVariableStarted() { + if (auto fieldName = file_.getToken(BasicType::Name)) { + state_ = State::VariableChild; + return { Type::VariableField, plainValue(fieldName) }; + } else if (auto braceClose = file_.getToken(BasicType::RightBrace)) { + state_ = State::Default; + return { Type::StructEnd }; + } + logErrorUnexpectedToken("struct variable field name or '}'"); + return invalidToken(); +} + +Token ParsedFile::readInVariableChild() { + if (auto value = readValueToken()) { + if (file_.getToken(BasicType::Semicolon)) { + state_ = State::Default; + return value; + } + logErrorUnexpectedToken(";"); + } else { + logErrorUnexpectedToken("variable field value"); + } + return invalidToken(); +} + +Token ParsedFile::readNumericToken() { + auto numericToken = file_.getAnyToken(); + if (numericToken.type == BasicType::Int) { + return { Type::Int, plainValue(numericToken) }; + } else if (numericToken.type == BasicType::Double) { + return { Type::Double, plainValue(numericToken) }; + } else if (numericToken.type == BasicType::Name) { + auto value = plainValue(numericToken); + auto match = QRegularExpression("^\\d+px$").match(value); + if (match.hasMatch()) { + return { Type::Pixels, value.mid(0, value.size() - 2) }; + } + } + file_.putBack(); + return invalidToken(); +} + +Token ParsedFile::readValueToken() { + if (auto colorValue = readColorToken()) { + return colorValue; + } else if (auto pointValue = readPointToken()) { + return pointValue; + } else if (auto spriteValue = readSpriteToken()) { + return spriteValue; + } else if (auto sizeValue = readSizeToken()) { + return sizeValue; + } else if (auto transitionValue = readTransitionToken()) { + return transitionValue; + } else if (auto cursorValue = readCursorToken()) { + return cursorValue; + } else if (auto alignValue = readAlignToken()) { + return alignValue; + } else if (auto marginsValue = readMarginsToken()) { + return marginsValue; + } else if (auto fontValue = readFontToken()) { + return fontValue; + } else if (auto numericValue = readNumericToken()) { + return numericValue; + } else if (auto stringValue = file_.getToken(BasicType::String)) { + return { Type::String, stringValue.value }; + } else if (auto minusToken = file_.getToken(BasicType::Minus)) { + if (auto positiveValue = readNumericToken()) { + return { positiveValue.type, '-' + positiveValue.value }; + } + logErrorUnexpectedToken("numeric value"); + } + return invalidToken(); +} + +Token ParsedFile::readColorToken() { + return invalidToken(); +} + +Token ParsedFile::readPointToken() { + return invalidToken(); +} + +Token ParsedFile::readSpriteToken() { + return invalidToken(); +} + +Token ParsedFile::readSizeToken() { + return invalidToken(); +} + +Token ParsedFile::readTransitionToken() { + return invalidToken(); +} + +Token ParsedFile::readCursorToken() { + return invalidToken(); +} + +Token ParsedFile::readAlignToken() { + return invalidToken(); +} + +Token ParsedFile::readMarginsToken() { + return invalidToken(); +} + +Token ParsedFile::readFontToken() { + return invalidToken(); +} + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/tokenized_file.h b/Telegram/SourceFiles/codegen/style/parsed_file.h similarity index 57% rename from Telegram/SourceFiles/codegen/style/tokenized_file.h rename to Telegram/SourceFiles/codegen/style/parsed_file.h index 5e4ac2afc..9d65f464b 100644 --- a/Telegram/SourceFiles/codegen/style/tokenized_file.h +++ b/Telegram/SourceFiles/codegen/style/parsed_file.h @@ -24,31 +24,35 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include #include "codegen/common/basic_tokenized_file.h" +#include "codegen/style/options.h" +#include "codegen/style/structure.h" namespace codegen { namespace style { -// Parses a file as a list of tokens. -class TokenizedFile { +// Parses an input file to the internal struct. +class ParsedFile { public: - TokenizedFile(const QString &filepath); - TokenizedFile(const TokenizedFile &other) = delete; - TokenizedFile &operator=(const TokenizedFile &other) = delete; + ParsedFile(const Options &options); + ParsedFile(const ParsedFile &other) = delete; + ParsedFile &operator=(const ParsedFile &other) = delete; - using ConstUtf8String = common::ConstUtf8String; struct Token { enum class Type { Invalid, - Using, + Using, // value: file path - DefineStruct, - DefineField, - FieldType, + DefineStructStart, // value: struct name + DefineStructField, // value: struct field name + StructFieldType, // value: struct field type name + DefineStructEnd, - DefineVariable, - Struct, - StructParent, + DefineVariable, // value: variable name + StructStart, // value: struct name + StructParent, // value: variable parent name + VariableField, // value: variable field name + StructEnd, Int, Double, @@ -72,27 +76,29 @@ public: } }; - bool read() { - return file_.read(); - } - bool atEnd() const { - return file_.atEnd(); - } + bool read(); - Token getToken(); - bool putBack(); - bool failed() const { - return file_.failed(); - } - - // Log error to std::cerr with 'code' at the current position in file. - common::LogStream logError(int code) const { - return file_.logError(code); + const structure::Module &data() const { + return result_; } private: - using Type = Token::Type; - Type readToken(); + + bool failed() const { + return failed_ || file_.failed(); + } + + // Log error to std::cerr with 'code' at the current position in file. + common::LogStream logError(int code) { + failed_ = true; + return file_.logError(code); + } + common::LogStream logErrorUnexpectedToken(const std::string &expected = std::string()) { + failed_ = true; + return file_.logErrorUnexpectedToken(expected); + } + + Token readToken(); // State value defines what are we waiting next. enum class State { @@ -106,21 +112,34 @@ private: }; // Helper methods for readToken() being in specific State. - Type readInDefault(); - Type readInStructStarted(); - Type readInStructFieldName(); - Type readInVariable(); - Type readInVariableParents(); - Type readInVariableStarted(); - Type readInVariableChild(); + Token readInDefault(); + Token readInStructStarted(); + Token readInStructFieldName(); + Token readInVariable(); + Token readInVariableParents(); + Token readInVariableStarted(); + Token readInVariableChild(); - Type saveToken(Type type, const QString &value = QString()); + Token readNumericToken(); + Token readValueToken(); + Token readColorToken(); + Token readPointToken(); + Token readSpriteToken(); + Token readSizeToken(); + Token readTransitionToken(); + Token readCursorToken(); + Token readAlignToken(); + Token readMarginsToken(); + Token readFontToken(); common::BasicTokenizedFile file_; - QList tokens_; - int currentToken_ = 0; + Options options_; + + bool failed_ = false; State state_ = State::Default; + structure::Module result_; + }; } // namespace style diff --git a/Telegram/SourceFiles/codegen/style/structure.h b/Telegram/SourceFiles/codegen/style/structure.h new file mode 100644 index 000000000..cde1813e8 --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/structure.h @@ -0,0 +1,87 @@ +/* +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 +#include +#include + +namespace codegen { +namespace style { +namespace structure { + +// List of names, like overview.document.bg +using FullName = QStringList; + +enum class TypeTag { + Int, + Double, + Pixels, + String, + Color, + Point, + Sprite, + Size, + Transition, + Cursor, + Align, + Margins, + Font, + Struct, +}; + +struct Type { + TypeTag tag; + FullName name; // only for type == ClassType::Struct +}; + +struct Variable; +struct Value { + QString data; // for plain types + QList fields; // for struct types +}; + +struct Variable { + FullName name; + Type type; + Value value; +}; + +struct StructField { + FullName name; + Type type; +}; + +struct Struct { + FullName name; + QList fields; +}; + +struct Module { + QString fullpath; + QList includes; + QList structs; + QList variables; +}; + +} // namespace structure +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/tokenized_file.cpp b/Telegram/SourceFiles/codegen/style/tokenized_file.cpp deleted file mode 100644 index 784848e85..000000000 --- a/Telegram/SourceFiles/codegen/style/tokenized_file.cpp +++ /dev/null @@ -1,136 +0,0 @@ -/* -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 "codegen/style/tokenized_file.h" - -#include -#include - -#include "codegen/common/basic_tokenized_file.h" -#include "codegen/common/logging.h" - -using Token = codegen::style::TokenizedFile::Token; -using Type = Token::Type; -using BasicToken = codegen::common::BasicTokenizedFile::Token; -using BasicType = BasicToken::Type; - -namespace codegen { -namespace style { -namespace { - -QString plainValue(const BasicToken &token) { - return token.original.toStringUnchecked(); -} - -Token invalidToken() { - return { Type::Invalid, QString() }; -} - -} // namespace - -TokenizedFile::TokenizedFile(const QString &filepath) : file_(filepath) { -} - -bool TokenizedFile::putBack() { - if (currentToken_ > 0) { - --currentToken_; - return true; - } - return false; -} - -Token TokenizedFile::getToken() { - if (currentToken_ >= tokens_.size()) { - if (readToken() == Type::Invalid) { - return invalidToken(); - } - } - return tokens_.at(currentToken_++); -} - -Type TokenizedFile::readToken() { - switch (state_) { - case State::Default: return readInDefault(); - case State::StructStarted: return readInStructStarted(); - case State::StructFieldName: return readInStructFieldName(); - case State::Variable: return readInVariable(); - case State::VariableParents: return readInVariableParents(); - case State::VariableStarted: return readInVariableStarted(); - case State::VariableChild: return readInVariableChild(); - } - return Type::Invalid; -} - -Type TokenizedFile::readInDefault() { - if (auto basicToken = file_.getToken(BasicType::Name)) { - if (plainValue(basicToken) == "using") { - if (auto usingFile = file_.getToken(BasicType::String)) { - if (file_.getToken(BasicType::Semicolon)) { - return saveToken(Type::Using, usingFile.value); - } - file_.logErrorUnexpectedToken("';'"); - } else { - file_.logErrorUnexpectedToken("file path"); - } - return Type::Invalid; - } - if (auto braceToken = file_.getToken(BasicType::LeftBrace)) { - state_ = State::StructStarted; - return saveToken(Type::DefineStruct, plainValue(basicToken)); - } else if (auto colonToken = file_.getToken(BasicType::Colon)) { - state_ = State::Variable; - return saveToken(Type::DefineVariable, plainValue(basicToken)); - } - file_.logErrorUnexpectedToken("using keyword, or struct definition, or variable definition"); - } - return Type::Invalid; -} - -Type TokenizedFile::readInStructStarted() { - return Type::Invalid; -} - -Type TokenizedFile::readInStructFieldName() { - return Type::Invalid; -} - -Type TokenizedFile::readInVariable() { - return Type::Invalid; -} - -Type TokenizedFile::readInVariableParents() { - return Type::Invalid; -} - -Type TokenizedFile::readInVariableStarted() { - return Type::Invalid; -} - -Type TokenizedFile::readInVariableChild() { - return Type::Invalid; -} - -Type TokenizedFile::saveToken(Type type, const QString &value) { - tokens_.push_back({ type, value }); - return type; -} - -} // namespace style -} // namespace codegen diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj b/Telegram/build/vc/codegen_style/codegen_style.vcxproj index d39bf6a24..967ae2811 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj @@ -16,7 +16,8 @@ - + + @@ -27,7 +28,9 @@ - + + + {E4DF8176-4DEF-4859-962F-B497E3E7A323} diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters b/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters index 560b5962e..9c64d8737 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters @@ -31,7 +31,10 @@ src\common - + + src\style + + src\style @@ -57,7 +60,13 @@ src\common - + + src\style + + + src\style + + src\style From e0160f7d4c6f7eab72f22bbaa791711b17bdc0b1 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 17 Apr 2016 16:22:00 +0300 Subject: [PATCH 03/16] Parsing of color and sprite values started in codegen_style. --- Telegram/Resources/style.txt | 2 + .../codegen/common/basic_tokenized_file.cpp | 14 +- .../codegen/common/basic_tokenized_file.h | 4 +- Telegram/SourceFiles/codegen/common/logging.h | 19 +- .../SourceFiles/codegen/style/generator.h | 3 +- .../SourceFiles/codegen/style/options.cpp | 12 +- .../SourceFiles/codegen/style/parsed_file.cpp | 609 ++++++++++++------ .../SourceFiles/codegen/style/parsed_file.h | 134 ++-- .../SourceFiles/codegen/style/structure.h | 35 +- .../vc/codegen_style/codegen_style.vcxproj | 2 +- 10 files changed, 544 insertions(+), 290 deletions(-) diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index ec6871bf4..9c88277fd 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -18,6 +18,8 @@ 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 */ +using "Resources/style_classes.txt"; + defaultFontFamily: "Open Sans"; semibold: "Open Sans Semibold"; diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp index 4bd5cf02e..fb6611e49 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp @@ -45,7 +45,7 @@ bool isNameChar(char ch) { } bool isWhitespaceChar(char ch) { - return (ch == '\n' || ch == ' ' || ch == '\t'); + return (ch == '\n' || ch == '\r' || ch == ' ' || ch == '\t'); } Token invalidToken() { @@ -224,7 +224,7 @@ Type BasicTokenizedFile::readString() { Type BasicTokenizedFile::readSingleLetter() { auto type = singleLetterTokens_.value(reader_.currentChar(), Type::Invalid); if (type == Type::Invalid) { - reader_.logError(kErrorIncorrectToken, lineNumber_) << "incorrect token '" << reader_.currentChar() << "'."; + reader_.logError(kErrorIncorrectToken, lineNumber_) << "incorrect token '" << reader_.currentChar() << "'"; return Type::Invalid; } @@ -253,16 +253,12 @@ LogStream BasicTokenizedFile::logError(int code) const { return reader_.logError(code, lineNumber_); } -LogStream BasicTokenizedFile::logErrorUnexpectedToken(const std::string &expected) const { - std::string expectedTail; - if (!expected.empty()) { - expectedTail = ", expected " + expected; - } +LogStream BasicTokenizedFile::logErrorUnexpectedToken() const { if (currentToken_ < tokens_.size()) { auto token = tokens_.at(currentToken_).original.toStdString(); - return logError(kErrorUnexpectedToken) << "unexpected token '" << token << '\'' << expectedTail << '.'; + return logError(kErrorUnexpectedToken) << "unexpected token '" << token << "', expected "; } - return logError(kErrorUnexpectedToken) << "unexpected token" << expectedTail << '.'; + return logError(kErrorUnexpectedToken) << "unexpected token, expected "; } BasicTokenizedFile::~BasicTokenizedFile() = default; diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h index 67b001736..97052783e 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h @@ -21,8 +21,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include -#include #include +#include #include #include "codegen/common/const_utf8_string.h" @@ -89,7 +89,7 @@ public: // Log error to std::cerr with 'code' at the current position in file. LogStream logError(int code) const; - LogStream logErrorUnexpectedToken(const std::string &expected = std::string()) const; + LogStream logErrorUnexpectedToken() const; ~BasicTokenizedFile(); diff --git a/Telegram/SourceFiles/codegen/common/logging.h b/Telegram/SourceFiles/codegen/common/logging.h index 1aa1f1481..019cddd26 100644 --- a/Telegram/SourceFiles/codegen/common/logging.h +++ b/Telegram/SourceFiles/codegen/common/logging.h @@ -29,29 +29,36 @@ namespace common { // Wrapper around std::ostream that adds '\n' to the end of the logging line. class LogStream { public: - explicit LogStream(std::ostream &stream) : stream_(stream) { + enum NullType { + Null, + }; + explicit LogStream(NullType) : final_(false) { + } + explicit LogStream(std::ostream &stream) : stream_(&stream) { } LogStream(LogStream &&other) : stream_(other.stream_) { other.final_ = false; } - std::ostream &stream() const { + std::ostream *stream() const { return stream_; } ~LogStream() { if (final_) { - stream_ << '\n'; + *stream_ << '\n'; } } private: - std::ostream &stream_; + std::ostream *stream_ = nullptr; bool final_ = true; }; template LogStream operator<<(LogStream &&stream, T &&value) { - stream.stream() << value; + if (auto ostream = stream.stream()) { + *ostream << std::forward(value); + } return std::forward(stream); } @@ -59,5 +66,7 @@ LogStream operator<<(LogStream &&stream, T &&value) { // logError(kErrorFileTooLarge, filepath) << "file too large, size=" << size; LogStream logError(int code, const QString &filepath, int line = 0); +static constexpr int kErrorInternal = 666; + } // namespace common } // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/generator.h b/Telegram/SourceFiles/codegen/style/generator.h index dbb9601f6..ab6f2a0d3 100644 --- a/Telegram/SourceFiles/codegen/style/generator.h +++ b/Telegram/SourceFiles/codegen/style/generator.h @@ -22,8 +22,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include -#include - +//#include "codegen/common/qstringlist_safe.h" #include "codegen/style/options.h" namespace codegen { diff --git a/Telegram/SourceFiles/codegen/style/options.cpp b/Telegram/SourceFiles/codegen/style/options.cpp index a7d880e17..4052b401d 100644 --- a/Telegram/SourceFiles/codegen/style/options.cpp +++ b/Telegram/SourceFiles/codegen/style/options.cpp @@ -40,8 +40,8 @@ using common::logError; Options parseOptions() { Options result; auto args(QCoreApplication::instance()->arguments()); - for (auto i = args.cbegin(), e = args.cend(); i != e; ++i) { - const auto &arg(*i); + for (int i = 1, count = args.size(); i < count; ++i) { // skip first + const auto &arg(args.at(i)); // Rebuild all dependencies if (arg == "--rebuild") { @@ -49,22 +49,22 @@ Options parseOptions() { // Include paths } else if (arg == "-I") { - if (++i == e) { + if (++i == count) { logError(kErrorIncludePathExpected, "Command Line") << "include path expected after -I"; return Options(); } else { - result.includePaths.push_back(*i); + result.includePaths.push_back(args.at(i)); } } else if (arg.startsWith("-I")) { result.includePaths.push_back(arg.mid(2)); // Output path } else if (arg == "-o") { - if (++i == e) { + if (++i == count) { logError(kErrorOutputPathExpected, "Command Line") << "output path expected after -o"; return Options(); } else { - result.outputPath = *i; + result.outputPath = args.at(i); } } else if (arg.startsWith("-o")) { result.outputPath = arg.mid(2); diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.cpp b/Telegram/SourceFiles/codegen/style/parsed_file.cpp index 4ca4aa701..b09144569 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.cpp +++ b/Telegram/SourceFiles/codegen/style/parsed_file.cpp @@ -21,13 +21,12 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "codegen/style/parsed_file.h" #include +#include #include #include #include "codegen/common/basic_tokenized_file.h" #include "codegen/common/logging.h" -using Token = codegen::style::ParsedFile::Token; -using Type = Token::Type; using BasicToken = codegen::common::BasicTokenizedFile::Token; using BasicType = BasicToken::Type; @@ -35,12 +34,57 @@ namespace codegen { namespace style { namespace { -QString plainValue(const BasicToken &token) { +constexpr int kErrorInIncluded = 801; +constexpr int kErrorTypeMismatch = 802; +constexpr int kErrorUnknownField = 803; +constexpr int kErrorIdentifierNotFound = 804; + +QString tokenValue(const BasicToken &token) { + if (token.type == BasicType::String) { + return token.value; + } return token.original.toStringUnchecked(); } -Token invalidToken() { - return { Type::Invalid, QString() }; +bool isValidColor(const QString &str) { + auto len = str.size(); + if (len != 3 && len != 4 && len != 6 && len != 8) { + return false; + } + + for (auto ch : str) { + auto code = ch.unicode(); + if ((code < '0' || code > '9') && (code < 'a' || code > 'f') && (code < 'A' || code > 'F')) { + return false; + } + } + return true; +} + +std::string logFullName(const structure::FullName &name) { + return name.join('.').toStdString(); +} + +std::string logType(const structure::Type &type) { + if (type.tag == structure::TypeTag::Struct) { + return "struct " + logFullName(type.name); + } + static auto builtInTypes = new QMap { + { structure::TypeTag::Int , "int" }, + { structure::TypeTag::Double , "double" }, + { structure::TypeTag::Pixels , "pixels" }, + { structure::TypeTag::String , "string" }, + { structure::TypeTag::Color , "color" }, + { structure::TypeTag::Point , "point" }, + { structure::TypeTag::Sprite , "sprite" }, + { structure::TypeTag::Size , "size" }, + { structure::TypeTag::Transition, "transition" }, + { structure::TypeTag::Cursor , "cursor" }, + { structure::TypeTag::Align , "align" }, + { structure::TypeTag::Margins , "margins" }, + { structure::TypeTag::Font , "font" }, + }; + return builtInTypes->value(type.tag, "invalid"); } } // namespace @@ -55,246 +99,437 @@ bool ParsedFile::read() { return false; } - for (auto token = readInDefault(); token; token = readInDefault()) { - if (token.type == Type::Using) { - auto includedOptions = options_; -// includedOptions.inputPath = findIncludePath(token.value); - ParsedFile included(includedOptions); - if (!included.read()) { - return false; - } - result_.includes.push_back(included.data()); - //} else if (token.type == Type::DefineStructStart) { - // if (!read) - } - } - return !failed(); -} - -Token ParsedFile::readToken() { - switch (state_) { - case State::Default: return readInDefault(); - case State::StructStarted: return readInStructStarted(); - case State::StructFieldName: return readInStructFieldName(); - case State::Variable: return readInVariable(); - case State::VariableParents: return readInVariableParents(); - case State::VariableStarted: return readInVariableStarted(); - case State::VariableChild: return readInVariableChild(); - } - return invalidToken(); -} - -Token ParsedFile::readInDefault() { - if (auto startToken = file_.getToken(BasicType::Name)) { - if (plainValue(startToken) == "using") { - if (auto usingFile = file_.getToken(BasicType::String)) { - if (file_.getToken(BasicType::Semicolon)) { - return { Type::Using, usingFile.value }; + bool noErrors = false; + do { + if (auto startToken = file_.getToken(BasicType::Name)) { + if (tokenValue(startToken) == "using") { + if (auto includedResult = readIncluded()) { + result_.includes.push_back(includedResult); + continue; } - logErrorUnexpectedToken("';'"); + } else if (auto braceOpen = file_.getToken(BasicType::LeftBrace)) { + if (auto structResult = readStruct(tokenValue(startToken))) { + result_.structs.push_back(structResult); + continue; + } + } else if (auto colonToken = file_.getToken(BasicType::Colon)) { + if (auto variableResult = readVariable(tokenValue(startToken))) { + result_.variables.push_back(variableResult); + continue; + } + } + } + if (!file_.atEnd()) { + logErrorUnexpectedToken() << "using keyword, or struct definition, or variable definition"; + } else { + noErrors = !failed(); + break; + } + } while (!failed()); + + if (noErrors) { + result_.fullpath = QFileInfo(options_.inputPath).absoluteFilePath(); + } + return noErrors; +} + +common::LogStream ParsedFile::logErrorTypeMismatch() { + return logError(kErrorTypeMismatch) << "type mismatch: "; +} + +structure::Module ParsedFile::readIncluded() { + structure::Module result; + if (auto usingFile = file_.getToken(BasicType::String)) { + if (file_.getToken(BasicType::Semicolon)) { + ParsedFile included(includedOptions(tokenValue(usingFile))); + if (included.read()) { + result = included.data(); } else { - logErrorUnexpectedToken("file path"); + logError(kErrorInIncluded) << "error while parsing '" << tokenValue(usingFile).toStdString() << "'"; } - return invalidToken(); - } else if (auto braceOpen = file_.getToken(BasicType::LeftBrace)) { - state_ = State::StructStarted; - return { Type::DefineStructStart, plainValue(startToken) }; - } else if (auto colonToken = file_.getToken(BasicType::Colon)) { - state_ = State::Variable; - return { Type::DefineVariable, plainValue(startToken) }; + } else { + logErrorUnexpectedToken() << "';'"; + } + } else { + logErrorUnexpectedToken() << "file path"; + } + return result; +} + +structure::Struct ParsedFile::readStruct(const QString &name) { + structure::Struct result = { composeFullName(name) }; + do { + if (auto fieldName = file_.getToken(BasicType::Name)) { + if (auto field = readStructField(tokenValue(fieldName))) { + result.fields.push_back(field); + } + } else if (auto braceClose = file_.getToken(BasicType::RightBrace)) { + if (result.fields.isEmpty()) { + logErrorUnexpectedToken() << "at least one field in struct"; + } + break; + } else { + logErrorUnexpectedToken() << "struct field name or '}'"; + } + } while (!failed()); + return result; +} + +structure::Variable ParsedFile::readVariable(const QString &name) { + structure::Variable result = { composeFullName(name) }; + if (auto value = readValue()) { + result.value = value; + if (!file_.getToken(BasicType::Semicolon)) { + logErrorUnexpectedToken() << "';'"; } } - if (!file_.atEnd()) { - logErrorUnexpectedToken("using keyword, or struct definition, or variable definition"); - } - return invalidToken(); + return result; } -Token ParsedFile::readInStructStarted() { - if (auto fieldName = file_.getToken(BasicType::Name)) { - state_ = State::StructFieldName; - return { Type::DefineStructField, plainValue(fieldName) }; - } else if (auto braceClose = file_.getToken(BasicType::RightBrace)) { - state_ = State::Default; - return { Type::DefineStructEnd }; - } - logErrorUnexpectedToken("struct field name or '}'"); - return invalidToken(); -} - -Token ParsedFile::readInStructFieldName() { +structure::StructField ParsedFile::readStructField(const QString &name) { + structure::StructField result = { composeFullName(name) }; if (auto colonToken = file_.getToken(BasicType::Colon)) { - if (auto fieldType = file_.getToken(BasicType::Name)) { - if (file_.getToken(BasicType::Semicolon)) { - state_ = State::StructStarted; - return { Type::StructFieldType, plainValue(fieldType) }; + if (auto type = readType()) { + result.type = type; + if (!file_.getToken(BasicType::Semicolon)) { + logErrorUnexpectedToken() << "';'"; } - logErrorUnexpectedToken(";"); - } else { - logErrorUnexpectedToken("struct field type name"); } } else { - logErrorUnexpectedToken("':'"); + logErrorUnexpectedToken() << "':'"; } - return invalidToken(); + return result; } -Token ParsedFile::readInVariable() { - if (auto value = readValueToken()) { - if (file_.getToken(BasicType::Semicolon)) { - state_ = State::Default; - return value; +structure::Type ParsedFile::readType() { + structure::Type result; + if (auto nameToken = file_.getToken(BasicType::Name)) { + auto name = tokenValue(nameToken); + if (auto builtInType = typeNames_.value(name.toStdString())) { + result = builtInType; + } else { + result.tag = structure::TypeTag::Struct; + result.name = composeFullName(name); } - logErrorUnexpectedToken(";"); - return invalidToken(); - } - if (failed()) { - return invalidToken(); + } else { + logErrorUnexpectedToken() << "type name"; } + return result; +} +structure::Value ParsedFile::readValue() { + if (auto colorValue = readColorValue()) { + return colorValue; + } else if (auto pointValue = readPointValue()) { + return pointValue; + } else if (auto spriteValue = readSpriteValue()) { + return spriteValue; + } else if (auto sizeValue = readSizeValue()) { + return sizeValue; + } else if (auto transitionValue = readTransitionValue()) { + return transitionValue; + } else if (auto cursorValue = readCursorValue()) { + return cursorValue; + } else if (auto alignValue = readAlignValue()) { + return alignValue; + } else if (auto marginsValue = readMarginsValue()) { + return marginsValue; + } else if (auto fontValue = readFontValue()) { + return fontValue; + } else if (auto numericValue = readNumericValue()) { + return numericValue; + } else if (auto stringValue = readStringValue()) { + return stringValue; + } else if (auto structValue = readStructValue()) { + return structValue; + } else if (auto copyValue = readCopyValue()) { + return copyValue; + } else { + logErrorUnexpectedToken() << "variable value"; + } + return {}; +} + +structure::Value ParsedFile::readStructValue() { if (auto structName = file_.getToken(BasicType::Name)) { - if (file_.getToken(BasicType::LeftParenthesis)) { - state_ = State::VariableParents; - return { Type::StructStart, plainValue(structName) }; - } else if (file_.getToken(BasicType::LeftBrace)) { - state_ = State::VariableStarted; - return { Type::StructStart, plainValue(structName) }; - } else { - logErrorUnexpectedToken("'(' or '{'"); - } - } else { - logErrorUnexpectedToken("variable value"); - } - return invalidToken(); -} - -Token ParsedFile::readInVariableParents() { - if (auto parentName = file_.getToken(BasicType::Name)) { - if (file_.getToken(BasicType::Comma)) { - return { Type::StructParent, plainValue(parentName) }; - } else if (file_.getToken(BasicType::RightParenthesis)) { - if (file_.getToken(BasicType::LeftBrace)) { - state_ = State::VariableStarted; - return { Type::StructParent, plainValue(parentName) }; + if (auto result = defaultConstructedStruct(composeFullName(tokenValue(structName)))) { + if (file_.getToken(BasicType::LeftParenthesis)) { + if (readStructParents(result)) { + if (file_.getToken(BasicType::LeftBrace)) { + readStructValueInner(result); + } else { + logErrorUnexpectedToken() << "'{'"; + } + } + } else if (file_.getToken(BasicType::LeftBrace)) { + readStructValueInner(result); + } else { + logErrorUnexpectedToken() << "'(' or '{'"; } - logErrorUnexpectedToken("'{'"); + return result; + } + file_.putBack(); + } + return {}; +} + +structure::Value ParsedFile::defaultConstructedStruct(const structure::FullName &structName) { + structure::Value result; + for (const auto &structType : result_.structs) { + if (structType.name == structName) { + result.fields.reserve(structType.fields.size()); + for (const auto &fieldType : structType.fields) { + result.fields.push_back({ fieldType.name, fieldType.type }); + } + } + } + return result; +} + +void ParsedFile::applyStructParent(structure::Value &result, const structure::FullName &parentName) { + for (const auto &structValue : result_.variables) { + if (structValue.name == parentName) { + if (structValue.value.type == result.type) { + const auto &srcFields(structValue.value.fields); + auto &dstFields(result.fields); + logAssert(srcFields.size() == dstFields.size()) << "struct size check failed"; + + for (int i = 0, s = srcFields.size(); i != s; ++i) { + logAssert(srcFields.at(i).value.type == dstFields.at(i).value.type) << "struct field type check failed"; + dstFields[i].value = srcFields.at(i).value; + } + } else { + logErrorTypeMismatch() << "parent '" << logFullName(parentName) << "' has type '" << logType(structValue.value.type) << "' while child value has type " << logType(result.type); + } + } + } +} + +bool ParsedFile::readStructValueInner(structure::Value &result) { + do { + if (auto fieldName = file_.getToken(BasicType::Name)) { + if (auto field = readVariable(tokenValue(fieldName))) { + for (auto &already : result.fields) { + if (already.name == field.name) { + if (already.value.type == field.value.type) { + already.value = field.value; + return true; + } else { + logErrorTypeMismatch() << "field '" << logFullName(already.name) << "' has type '" << logType(already.value.type) << "' while value has type " << logType(field.value.type); + return false; + } + } + } + logError(kErrorUnknownField) << "field '" << logFullName(field.name) << "' was not found in struct of type '" << logType(result.type) << "'"; + } + } else if (file_.getToken(BasicType::RightBrace)) { + return true; } else { - logErrorUnexpectedToken("',' or ')'"); + logErrorUnexpectedToken() << "variable field name or '}'"; } - } else { - logErrorUnexpectedToken("struct variable parent"); - } - return invalidToken(); + } while (!failed()); + return false; } -Token ParsedFile::readInVariableStarted() { - if (auto fieldName = file_.getToken(BasicType::Name)) { - state_ = State::VariableChild; - return { Type::VariableField, plainValue(fieldName) }; - } else if (auto braceClose = file_.getToken(BasicType::RightBrace)) { - state_ = State::Default; - return { Type::StructEnd }; - } - logErrorUnexpectedToken("struct variable field name or '}'"); - return invalidToken(); -} - -Token ParsedFile::readInVariableChild() { - if (auto value = readValueToken()) { - if (file_.getToken(BasicType::Semicolon)) { - state_ = State::Default; - return value; +bool ParsedFile::readStructParents(structure::Value &result) { + do { + if (auto parentName = file_.getToken(BasicType::Name)) { + applyStructParent(result, composeFullName(tokenValue(parentName))); + if (file_.getToken(BasicType::RightParenthesis)) { + return true; + } else if (!file_.getToken(BasicType::Comma)) { + logErrorUnexpectedToken() << "',' or ')'"; + } + } else { + logErrorUnexpectedToken() << "struct variable parent"; } - logErrorUnexpectedToken(";"); - } else { - logErrorUnexpectedToken("variable field value"); - } - return invalidToken(); + } while (!failed()); + return false; } -Token ParsedFile::readNumericToken() { +//ParsedFile::Token ParsedFile::readInVariableChild() { +// if (auto value = readValue()) { +// if (file_.getToken(BasicType::Semicolon)) { +// state_ = State::Default; +// return value; +// } +// logErrorUnexpectedToken(";"); +// } else { +// logErrorUnexpectedToken("variable field value"); +// } +// return invalidToken(); +//} +// +structure::Value ParsedFile::readPositiveValue() { auto numericToken = file_.getAnyToken(); if (numericToken.type == BasicType::Int) { - return { Type::Int, plainValue(numericToken) }; + return { { structure::TypeTag::Int }, tokenValue(numericToken) }; } else if (numericToken.type == BasicType::Double) { - return { Type::Double, plainValue(numericToken) }; + return { { structure::TypeTag::Double }, tokenValue(numericToken) }; } else if (numericToken.type == BasicType::Name) { - auto value = plainValue(numericToken); + auto value = tokenValue(numericToken); auto match = QRegularExpression("^\\d+px$").match(value); if (match.hasMatch()) { - return { Type::Pixels, value.mid(0, value.size() - 2) }; + return { { structure::TypeTag::Pixels }, value.mid(0, value.size() - 2) }; } } file_.putBack(); - return invalidToken(); + return {}; } -Token ParsedFile::readValueToken() { - if (auto colorValue = readColorToken()) { - return colorValue; - } else if (auto pointValue = readPointToken()) { - return pointValue; - } else if (auto spriteValue = readSpriteToken()) { - return spriteValue; - } else if (auto sizeValue = readSizeToken()) { - return sizeValue; - } else if (auto transitionValue = readTransitionToken()) { - return transitionValue; - } else if (auto cursorValue = readCursorToken()) { - return cursorValue; - } else if (auto alignValue = readAlignToken()) { - return alignValue; - } else if (auto marginsValue = readMarginsToken()) { - return marginsValue; - } else if (auto fontValue = readFontToken()) { - return fontValue; - } else if (auto numericValue = readNumericToken()) { - return numericValue; - } else if (auto stringValue = file_.getToken(BasicType::String)) { - return { Type::String, stringValue.value }; +structure::Value ParsedFile::readNumericValue() { + if (auto value = readPositiveValue()) { + return value; } else if (auto minusToken = file_.getToken(BasicType::Minus)) { - if (auto positiveValue = readNumericToken()) { - return { positiveValue.type, '-' + positiveValue.value }; + if (auto positiveValue = readNumericValue()) { + return { positiveValue.type, '-' + positiveValue.data }; } - logErrorUnexpectedToken("numeric value"); + logErrorUnexpectedToken() << "numeric value"; } - return invalidToken(); + return {}; } -Token ParsedFile::readColorToken() { - return invalidToken(); +structure::Value ParsedFile::readStringValue() { + if (auto stringToken = file_.getToken(BasicType::String)) { + return { { structure::TypeTag::String }, stringToken.value }; + } + return {}; } -Token ParsedFile::readPointToken() { - return invalidToken(); +structure::Value ParsedFile::readColorValue() { + if (auto numberSign = file_.getToken(BasicType::Number)) { + auto color = file_.getAnyToken(); + if (color.type == BasicType::Int || color.type == BasicType::Name) { + auto chars = tokenValue(color); + if (isValidColor(chars)) { + return { { structure::TypeTag::Color }, chars.toLower() }; + } + } else { + logErrorUnexpectedToken() << "color value in #ccc, #ccca, #cccccc or #ccccccaa format"; + } + } + return {}; } -Token ParsedFile::readSpriteToken() { - return invalidToken(); +structure::Value ParsedFile::readPointValue() { + return {}; } -Token ParsedFile::readSizeToken() { - return invalidToken(); +structure::Value ParsedFile::readSpriteValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "sprite") { + if (!file_.getToken(BasicType::LeftParenthesis)) { + logErrorUnexpectedToken() << "'(' and sprite definition"; + return {}; + } + + auto x = readNumericValue(); file_.getToken(BasicType::Comma); + auto y = readNumericValue(); file_.getToken(BasicType::Comma); + auto w = readNumericValue(); file_.getToken(BasicType::Comma); + auto h = readNumericValue(); + if (x.type.tag != structure::TypeTag::Pixels || + y.type.tag != structure::TypeTag::Pixels || + w.type.tag != structure::TypeTag::Pixels || + h.type.tag != structure::TypeTag::Pixels) { + logErrorTypeMismatch() << "px rect for the sprite expected"; + return {}; + } + + if (!file_.getToken(BasicType::RightParenthesis)) { + logErrorUnexpectedToken() << "')'"; + return {}; + } + + return { { structure::TypeTag::Sprite }, x.data + ',' + y.data + ',' + w.data + ',' + h.data }; + } + file_.putBack(); + } + return {}; } -Token ParsedFile::readTransitionToken() { - return invalidToken(); +structure::Value ParsedFile::readSizeValue() { + return {}; } -Token ParsedFile::readCursorToken() { - return invalidToken(); +structure::Value ParsedFile::readTransitionValue() { + return {}; } -Token ParsedFile::readAlignToken() { - return invalidToken(); +structure::Value ParsedFile::readCursorValue() { + return {}; } -Token ParsedFile::readMarginsToken() { - return invalidToken(); +structure::Value ParsedFile::readAlignValue() { + return {}; } -Token ParsedFile::readFontToken() { - return invalidToken(); +structure::Value ParsedFile::readMarginsValue() { + return {}; +} + +structure::Value ParsedFile::readFontValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "font") { + if (!file_.getToken(BasicType::LeftParenthesis)) { + logErrorUnexpectedToken() << "'(' and font definition"; + return {}; + } + + structure::Value family, size; + do { + if (auto familyValue = readStringValue()) { + family = familyValue; + } else if (auto sizeValue = readNumericValue()) { + size = sizeValue; + } else if (auto copyValue = readCopyValue()) { + if (copyValue.type.tag == structure::TypeTag::String) { + family = copyValue; + } else if (copyValue.type.tag == structure::TypeTag::Pixels) { + size = copyValue; + } else { + logErrorUnexpectedToken() << "font family, font size or ')'"; + } + } else if (file_.getToken(BasicType::RightParenthesis)) { + break; + } else { + logErrorUnexpectedToken() << "font family, font size or ')'"; + } + } while (!failed()); + + if (size.type.tag != structure::TypeTag::Pixels) { + logErrorTypeMismatch() << "px value for the font size expected"; + } + return { { structure::TypeTag::Font }, size.data + ',' + family.data }; + } + file_.putBack(); + } + return {}; +} + +structure::Value ParsedFile::readCopyValue() { + if (auto copyName = file_.getToken(BasicType::Name)) { + structure::FullName name = { tokenValue(copyName) }; + for (const auto &variable : result_.variables) { + if (variable.name == name) { + auto result = variable.value; + result.copy = variable.name; + return result; + } + } + logError(kErrorIdentifierNotFound) << "identifier '" << logFullName(name) << "' not found"; + } + return {}; +} + +Options ParsedFile::includedOptions(const QString &filepath) { + auto result = options_; + result.inputPath = filepath; + return result; +} + +// Compose context-dependent full name. +structure::FullName ParsedFile::composeFullName(const QString &name) { + return { name }; } } // namespace style diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.h b/Telegram/SourceFiles/codegen/style/parsed_file.h index 9d65f464b..a41efe946 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.h +++ b/Telegram/SourceFiles/codegen/style/parsed_file.h @@ -21,8 +21,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include -#include -#include +#include #include "codegen/common/basic_tokenized_file.h" #include "codegen/style/options.h" #include "codegen/style/structure.h" @@ -37,45 +36,6 @@ public: ParsedFile(const ParsedFile &other) = delete; ParsedFile &operator=(const ParsedFile &other) = delete; - struct Token { - enum class Type { - Invalid, - - Using, // value: file path - - DefineStructStart, // value: struct name - DefineStructField, // value: struct field name - StructFieldType, // value: struct field type name - DefineStructEnd, - - DefineVariable, // value: variable name - StructStart, // value: struct name - StructParent, // value: variable parent name - VariableField, // value: variable field name - StructEnd, - - Int, - Double, - Pixels, - String, - Color, - Point, - Sprite, - Size, - Transition, - Cursor, - Align, - Margins, - Font, - }; - Type type; - QString value; - - explicit operator bool() const { - return type != Type::Invalid; - } - }; - bool read(); const structure::Module &data() const { @@ -93,53 +53,75 @@ private: failed_ = true; return file_.logError(code); } - common::LogStream logErrorUnexpectedToken(const std::string &expected = std::string()) { + common::LogStream logErrorUnexpectedToken() { failed_ = true; - return file_.logErrorUnexpectedToken(expected); + return file_.logErrorUnexpectedToken(); + } + common::LogStream logErrorTypeMismatch(); + common::LogStream logAssert(bool assertion) { + if (!assertion) { + return logError(common::kErrorInternal) << "internal - "; + } + return common::LogStream(common::LogStream::Null); } - Token readToken(); + // Helper methods for context-dependent reading. + structure::Module readIncluded(); + structure::Struct readStruct(const QString &name); + structure::Variable readVariable(const QString &name); - // State value defines what are we waiting next. - enum class State { - Default, // [ using | struct name | variable name | end ] - StructStarted, // [ struct field name | struct end ] - StructFieldName, // [ struct field type ] - Variable, // [ struct name | variable value ] - VariableParents, // [ variable parent name | variable start ] - VariableStarted, // [ variable field name | variable end] - VariableChild, // [ variable child value ] - }; + structure::StructField readStructField(const QString &name); + structure::Type readType(); + structure::Value readValue(); - // Helper methods for readToken() being in specific State. - Token readInDefault(); - Token readInStructStarted(); - Token readInStructFieldName(); - Token readInVariable(); - Token readInVariableParents(); - Token readInVariableStarted(); - Token readInVariableChild(); + structure::Value readStructValue(); + structure::Value defaultConstructedStruct(const structure::FullName &name); + void applyStructParent(structure::Value &result, const structure::FullName &parentName); + bool readStructValueInner(structure::Value &result); + bool readStructParents(structure::Value &result); - Token readNumericToken(); - Token readValueToken(); - Token readColorToken(); - Token readPointToken(); - Token readSpriteToken(); - Token readSizeToken(); - Token readTransitionToken(); - Token readCursorToken(); - Token readAlignToken(); - Token readMarginsToken(); - Token readFontToken(); + // Simple methods for reading value types. + structure::Value readPositiveValue(); + structure::Value readNumericValue(); + structure::Value readStringValue(); + structure::Value readColorValue(); + structure::Value readPointValue(); + structure::Value readSpriteValue(); + structure::Value readSizeValue(); + structure::Value readTransitionValue(); + structure::Value readCursorValue(); + structure::Value readAlignValue(); + structure::Value readMarginsValue(); + structure::Value readFontValue(); + structure::Value readCopyValue(); + + // Look through include directories in options_ and find absolute include path. + Options includedOptions(const QString &filepath); + + // Compose context-dependent full name. + structure::FullName composeFullName(const QString &name); common::BasicTokenizedFile file_; Options options_; - bool failed_ = false; - State state_ = State::Default; - structure::Module result_; + QMap typeNames_ = { + { "int" , { structure::TypeTag::Int } }, + { "double" , { structure::TypeTag::Double } }, + { "pixels" , { structure::TypeTag::Pixels } }, + { "string" , { structure::TypeTag::String } }, + { "color" , { structure::TypeTag::Color } }, + { "point" , { structure::TypeTag::Point } }, + { "sprite" , { structure::TypeTag::Sprite } }, + { "size" , { structure::TypeTag::Size } }, + { "transition", { structure::TypeTag::Transition } }, + { "cursor" , { structure::TypeTag::Cursor } }, + { "align" , { structure::TypeTag::Align } }, + { "margins" , { structure::TypeTag::Margins } }, + { "font" , { structure::TypeTag::Font } }, + }; + }; } // namespace style diff --git a/Telegram/SourceFiles/codegen/style/structure.h b/Telegram/SourceFiles/codegen/style/structure.h index cde1813e8..c4f7b68c2 100644 --- a/Telegram/SourceFiles/codegen/style/structure.h +++ b/Telegram/SourceFiles/codegen/style/structure.h @@ -21,7 +21,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include -#include #include namespace codegen { @@ -32,6 +31,7 @@ namespace structure { using FullName = QStringList; enum class TypeTag { + Invalid, Int, Double, Pixels, @@ -51,28 +51,55 @@ enum class TypeTag { struct Type { TypeTag tag; FullName name; // only for type == ClassType::Struct + + explicit operator bool() const { + return (tag != TypeTag::Invalid); + } }; +inline bool operator==(const Type &a, const Type &b) { + return (a.tag == b.tag) && (a.name == b.name); +} +inline bool operator!=(const Type &a, const Type &b) { + return !(a == b); +} struct Variable; struct Value { + Type type; QString data; // for plain types QList fields; // for struct types + FullName copy; // for copies of existing named values + + explicit operator bool() const { + return !data.isEmpty() || !fields.isEmpty() || !copy.isEmpty(); + } }; struct Variable { FullName name; - Type type; Value value; + + explicit operator bool() const { + return !name.isEmpty(); + } }; struct StructField { FullName name; Type type; + + explicit operator bool() const { + return !name.isEmpty(); + } }; struct Struct { FullName name; QList fields; + + explicit operator bool() const { + return !name.isEmpty(); + } }; struct Module { @@ -80,6 +107,10 @@ struct Module { QList includes; QList structs; QList variables; + + explicit operator bool() const { + return !fullpath.isEmpty(); + } }; } // namespace structure diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj b/Telegram/build/vc/codegen_style/codegen_style.vcxproj index 967ae2811..848016fb3 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj @@ -69,7 +69,7 @@ - UNICODE;WIN32;QT_CORE_LIB;%(PreprocessorDefinitions) + UNICODE;WIN32;QT_CORE_LIB;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) Disabled ProgramDatabase MultiThreadedDebug From edd26b3224e4113d56347480a32daed39ffa07cb Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 17 Apr 2016 20:52:17 +0300 Subject: [PATCH 04/16] Reading of old style format fully supported in codegen_style. --- Telegram/Resources/style.txt | 25 +- Telegram/Resources/style_classes.txt | 192 +++---- .../codegen/common/basic_tokenized_file.cpp | 26 + .../codegen/common/basic_tokenized_file.h | 6 + Telegram/SourceFiles/codegen/common/logging.h | 2 +- .../SourceFiles/codegen/style/generator.h | 1 - .../SourceFiles/codegen/style/parsed_file.cpp | 504 +++++++++++++----- .../SourceFiles/codegen/style/parsed_file.h | 13 + .../SourceFiles/codegen/style/structure.h | 54 +- .../codegen/style/structure_types.cpp | 204 +++++++ .../codegen/style/structure_types.h | 174 ++++++ Telegram/SourceFiles/pspecific_mac_p.mm | 4 +- .../vc/codegen_style/codegen_style.vcxproj | 2 + .../codegen_style.vcxproj.filters | 6 + 14 files changed, 927 insertions(+), 286 deletions(-) create mode 100644 Telegram/SourceFiles/codegen/style/structure_types.cpp create mode 100644 Telegram/SourceFiles/codegen/style/structure_types.h diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index 9c88277fd..f63bb4db3 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -385,7 +385,7 @@ btnDefIconed: iconedButton { font: font(fsize); opacity: 0.78; - overOpacity: 1; + overOpacity: 1.; textPos: point(0px, 0px); downTextPos: point(0px, 0px); @@ -433,7 +433,7 @@ titleBackButton: iconedButton(btnDefIconed) { width: -30px; height: 39px; - opacity: 1; + opacity: 1.; cursor: cursor(default); textPos: point(23px, 10px); @@ -2189,7 +2189,7 @@ mvDropdown: dropdown(dropdownDef) { shadow: sprite(0px, 0px, 0px, 0px); padding: margins(11px, 12px, 11px, 12px); - border: 0; + border: 0px; width: 182px; } mvButton: iconedButton(btnDefIconed) { @@ -2197,8 +2197,8 @@ mvButton: iconedButton(btnDefIconed) { overBgColor: #505050; font: font(fsize); - opacity: 1; - overOpacity: 1; + opacity: 1.; + overOpacity: 1.; width: -32px; height: 36px; @@ -2298,21 +2298,22 @@ overviewFileExtFont: font(18px semibold); // Mac specific -macAccessory: size(450, 90); +macAccessoryWidth: 450.; +macAccessoryHeight: 90.; macEnableFilterAdd: 2; macEnableFilterTop: 5; macSelectorTop: 6; macAlwaysThisAppTop: 4; macAppHintTop: 8; -macCautionIconSize: size(16, 16); +macCautionIconSize: 16; btnContext: iconedButton(btnDefIconed) { bgColor: white; overBgColor: btnWhiteHover; font: font(14px); - opacity: 1; - overOpacity: 1; + opacity: 1.; + overOpacity: 1.; width: -32px; height: 36px; @@ -2399,8 +2400,8 @@ passcodeSkip: 31px; mentionHeight: 40px; mentionScroll: flatScroll(scrollDef) { - topsh: 0; - bottomsh: 0; + topsh: 0px; + bottomsh: 0px; } mentionPadding: margins(8px, 5px, 8px, 5px); mentionTop: 11px; @@ -2420,7 +2421,7 @@ sessionsHeight: 440px; sessionHeight: 70px; sessionCurrentPadding: margins(0px, 7px, 0px, 4px); sessionCurrentHeight: 118px; -sessionPadding: margins(21px, 10px, 21px, 0); +sessionPadding: margins(21px, 10px, 21px, 0px); sessionNameFont: msgNameFont; sessionActiveFont: msgDateFont; sessionActiveColor: #aaa; diff --git a/Telegram/Resources/style_classes.txt b/Telegram/Resources/style_classes.txt index a3405a048..27079bf5b 100644 --- a/Telegram/Resources/style_classes.txt +++ b/Telegram/Resources/style_classes.txt @@ -26,7 +26,7 @@ textStyle { monoFg: color; selectBg: color; selectOverlay: color; - lineHeight: number; + lineHeight: pixels; } linkButton { @@ -42,7 +42,7 @@ sysButton { img: sprite; color: color; overColor: color; - duration: number; + duration: int; } flatButton { @@ -54,16 +54,16 @@ flatButton { overBgColor: color; downBgColor: color; - width: number; - height: number; + width: pixels; + height: pixels; - textTop: number; - overTextTop: number; - downTextTop: number; + textTop: pixels; + overTextTop: pixels; + downTextTop: pixels; font: font; overFont: font; - duration: number; + duration: int; cursor: cursor; } @@ -76,17 +76,17 @@ iconedButton { color: color; bgColor: color; overBgColor: color; - width: number; - height: number; + width: pixels; + height: pixels; font: font; - opacity: number; - overOpacity: number; + opacity: double; + overOpacity: double; textPos: point; downTextPos: point; - duration: number; + duration: int; cursor: cursor; } @@ -95,12 +95,12 @@ flatCheckbox { bgColor: color; disColor: color; - width: number; - height: number; - textTop: number; - textLeft: number; + width: pixels; + height: pixels; + textTop: pixels; + textLeft: pixels; font: font; - duration: number; + duration: int; bgFunc: transition; cursor: cursor; @@ -120,8 +120,8 @@ flatInput { textColor: color; bgColor: color; bgActive: color; - width: number; - height: number; + width: pixels; + height: pixels; textMrg: margins; align: align; font: font; @@ -130,7 +130,7 @@ flatInput { imgRect: sprite; imgPos: point; - borderWidth: number; + borderWidth: pixels; borderColor: color; borderActive: color; borderError: color; @@ -139,8 +139,8 @@ flatInput { phFocusColor: color; phPos: point; phAlign: align; - phShift: number; - phDuration: number; + phShift: pixels; + phDuration: int; phLeftFunc: transition; phAlphaFunc: transition; phColorFunc: transition; @@ -149,7 +149,7 @@ flatInput { flatTextarea { textColor: color; bgColor: color; - width: number; + width: pixels; textMrg: margins; align: align; font: font; @@ -159,8 +159,8 @@ flatTextarea { phFocusColor: color; phPos: point; phAlign: align; - phShift: number; - phDuration: number; + phShift: pixels; + phDuration: int; phLeftFunc: transition; phAlphaFunc: transition; phColorFunc: transition; @@ -172,26 +172,26 @@ flatScroll { barOverColor: color; bgOverColor: color; - round: number; + round: pixels; - width: number; - minHeight: number; - deltax: number; - deltat: number; - deltab: number; + width: pixels; + minHeight: pixels; + deltax: pixels; + deltat: pixels; + deltab: pixels; - topsh: number; - bottomsh: number; + topsh: pixels; + bottomsh: pixels; shColor: color; - duration: number; - hiding: number; + duration: int; + hiding: int; } countryInput { - width: number; - height: number; - top: number; + width: pixels; + height: pixels; + top: pixels; bgColor: color; ptrSize: size; textMrg: margins; @@ -201,53 +201,53 @@ countryInput { slider { color: color; - thikness: number; + thikness: pixels; - width: number; + width: pixels; bar: sprite; } flatLabel { font: font; - minWidth: number; - width: number; + minWidth: pixels; + width: pixels; align: align; } switcher { - border: number; + border: pixels; borderColor: color; bgColor: color; bgHovered: color; bgActive: color; - height: number; + height: pixels; font: font; textColor: color; activeColor: color; - duration: number; + duration: int; } dropdown { - border: number; + border: pixels; borderColor: color; padding: margins; shadow: sprite; - shadowShift: number; + shadowShift: pixels; - duration: number; - width: number; + duration: int; + width: pixels; } PopupMenu { - skip: number; + skip: pixels; shadow: sprite; - shadowShift: number; + shadowShift: pixels; itemBg: color; itemBgOver: color; @@ -261,15 +261,15 @@ PopupMenu { itemFont: font; separatorPadding: margins; - separatorWidth: number; + separatorWidth: pixels; separatorFg: color; arrow: sprite; - duration: number; + duration: int; - widthMin: number; - widthMax: number; + widthMin: pixels; + widthMax: pixels; } Tooltip { @@ -280,18 +280,18 @@ Tooltip { textPadding: margins; shift: point; - skip: number; + skip: pixels; - widthMax: number; - linesMax: number; + widthMax: pixels; + linesMax: int; } botKeyboardButton { - margin: number; - padding: number; - height: number; - textTop: number; - downTextTop: number; + margin: pixels; + padding: pixels; + height: pixels; + textTop: pixels; + downTextTop: pixels; } BoxButton { @@ -300,13 +300,13 @@ BoxButton { textBg: color; // rect of textBg with rounded rect of textBgOver upon it textBgOver: color; - width: number; - height: number; + width: pixels; + height: pixels; - textTop: number; + textTop: pixels; font: font; - duration: number; + duration: int; } Checkbox { @@ -317,16 +317,16 @@ Checkbox { checkFgOver: color; checkFgActive: color; - width: number; - height: number; + width: pixels; + height: pixels; textPosition: point; - diameter: number; - thickness: number; + diameter: pixels; + thickness: pixels; checkIcon: sprite; font: font; - duration: number; + duration: int; } Radiobutton { @@ -337,16 +337,16 @@ Radiobutton { checkFgOver: color; checkFgActive: color; - width: number; - height: number; + width: pixels; + height: pixels; textPosition: point; - diameter: number; - thickness: number; - checkSkip: number; + diameter: pixels; + thickness: pixels; + checkSkip: pixels; font: font; - duration: number; + duration: int; } InputArea { @@ -357,23 +357,23 @@ InputArea { placeholderFgActive: color; placeholderMargins: margins; placeholderAlign: align; - placeholderShift: number; + placeholderShift: pixels; - duration: number; + duration: int; borderFg: color; borderFgActive: color; borderFgError: color; - border: number; - borderActive: number; - borderError: number; + border: pixels; + borderActive: pixels; + borderError: pixels; font: font; - width: number; - heightMin: number; - heightMax: number; + width: pixels; + heightMin: pixels; + heightMax: pixels; } InputField { @@ -385,28 +385,28 @@ InputField { placeholderFgActive: color; placeholderMargins: margins; placeholderAlign: align; - placeholderShift: number; + placeholderShift: pixels; - duration: number; + duration: int; borderFg: color; borderFgActive: color; borderFgError: color; - border: number; - borderActive: number; - borderError: number; + border: pixels; + borderActive: pixels; + borderError: pixels; font: font; - width: number; - height: number; + width: pixels; + height: pixels; iconSprite: sprite; iconPosition: point; } PeerAvatarButton { - size: number; - photoSize: number; + size: pixels; + photoSize: pixels; } diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp index fb6611e49..2a80bea35 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp @@ -249,6 +249,32 @@ void BasicTokenizedFile::skipWhitespaces() { tokenStart_ = reader_.currentPtr(); } +LogStream operator<<(LogStream &&stream, BasicTokenizedFile::Token::Type type) { + const char *value = "'invalid'"; + switch (type) { + case Type::Invalid: break; + case Type::Int: value = "'int'"; break; + case Type::Double: value = "'double'"; break; + case Type::String: value = "'string'"; break; + case Type::LeftParenthesis: value = "'('"; break; + case Type::RightParenthesis: value = "')'"; break; + case Type::LeftBrace: value = "'{'"; break; + case Type::RightBrace: value = "'}'"; break; + case Type::LeftBracket: value = "'['"; break; + case Type::RightBracket: value = "']'"; break; + case Type::Colon: value = "':'"; break; + case Type::Semicolon: value = "';'"; break; + case Type::Comma: value = "','"; break; + case Type::Dot: value = "'.'"; break; + case Type::Number: value = "'#'"; break; + case Type::Plus: value = "'+'"; break; + case Type::Minus: value = "'-'"; break; + case Type::Equals: value = "'='"; break; + case Type::Name: value = "'identifier'"; break; + } + return std::forward(stream) << value; +} + LogStream BasicTokenizedFile::logError(int code) const { return reader_.logError(code, lineNumber_); } diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h index 97052783e..400fc9051 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h @@ -147,5 +147,11 @@ private: }; +LogStream operator<<(LogStream &&stream, BasicTokenizedFile::Token::Type type); +template <> +LogStream operator<< (LogStream &&stream, BasicTokenizedFile::Token::Type &&value) = delete; +template <> +LogStream operator<< (LogStream &&stream, const BasicTokenizedFile::Token::Type &value) = delete; + } // namespace common } // namespace codegen diff --git a/Telegram/SourceFiles/codegen/common/logging.h b/Telegram/SourceFiles/codegen/common/logging.h index 019cddd26..55567ac84 100644 --- a/Telegram/SourceFiles/codegen/common/logging.h +++ b/Telegram/SourceFiles/codegen/common/logging.h @@ -36,7 +36,7 @@ public: } explicit LogStream(std::ostream &stream) : stream_(&stream) { } - LogStream(LogStream &&other) : stream_(other.stream_) { + LogStream(LogStream &&other) : stream_(other.stream_), final_(other.final_) { other.final_ = false; } std::ostream *stream() const { diff --git a/Telegram/SourceFiles/codegen/style/generator.h b/Telegram/SourceFiles/codegen/style/generator.h index ab6f2a0d3..526a70912 100644 --- a/Telegram/SourceFiles/codegen/style/generator.h +++ b/Telegram/SourceFiles/codegen/style/generator.h @@ -22,7 +22,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include -//#include "codegen/common/qstringlist_safe.h" #include "codegen/style/options.h" namespace codegen { diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.cpp b/Telegram/SourceFiles/codegen/style/parsed_file.cpp index b09144569..f5f7e2d66 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.cpp +++ b/Telegram/SourceFiles/codegen/style/parsed_file.cpp @@ -38,6 +38,8 @@ constexpr int kErrorInIncluded = 801; constexpr int kErrorTypeMismatch = 802; constexpr int kErrorUnknownField = 803; constexpr int kErrorIdentifierNotFound = 804; +constexpr int kErrorAlreadyDefined = 805; +constexpr int kErrorBadString = 806; QString tokenValue(const BasicToken &token) { if (token.type == BasicType::String) { @@ -54,13 +56,45 @@ bool isValidColor(const QString &str) { for (auto ch : str) { auto code = ch.unicode(); - if ((code < '0' || code > '9') && (code < 'a' || code > 'f') && (code < 'A' || code > 'F')) { + if ((code < '0' || code > '9') && (code < 'a' || code > 'f')) { return false; } } return true; } +uchar readHexUchar(QChar ch) { + auto code = ch.unicode(); + return (code >= '0' && code <= '9') ? ((code - '0') & 0xFF) : ((code - 'a') & 0xFF); +} + +uchar readHexUchar(QChar char1, QChar char2) { + return ((readHexUchar(char1) & 0x0F) << 4) | (readHexUchar(char2) & 0x0F); +} + +structure::data::color convertWebColor(const QString &str) { + uchar r = 0, g = 0, b = 0, a = 255; + if (isValidColor(str)) { + auto len = str.size(); + if (len == 3 || len == 4) { + r = readHexUchar(str.at(0), str.at(0)); + g = readHexUchar(str.at(1), str.at(1)); + b = readHexUchar(str.at(2), str.at(2)); + if (len == 4) a = readHexUchar(str.at(3), str.at(3)); + } else { + r = readHexUchar(str.at(0), str.at(1)); + g = readHexUchar(str.at(2), str.at(3)); + b = readHexUchar(str.at(4), str.at(5)); + if (len == 8) a = readHexUchar(str.at(6), str.at(7)); + } + } + return { r, g, b, a }; +} + +structure::data::color convertIntColor(int r, int g, int b, int a) { + return { uchar(r & 0xFF), uchar(g & 0xFF), uchar(b & 0xFF), uchar(a & 0xFF) }; +} + std::string logFullName(const structure::FullName &name) { return name.join('.').toStdString(); } @@ -87,6 +121,31 @@ std::string logType(const structure::Type &type) { return builtInTypes->value(type.tag, "invalid"); } +QString fullNameKey(const structure::FullName &name) { + return name.join('.'); +} + +bool validateAnsiString(const QString &value) { + for (auto ch : value) { + if (ch.unicode() > 127) { + return false; + } + } + return true; +} + +bool validateTransitionString(const QString &value) { + return QRegularExpression("^[a-zA-Z_]+$").match(value).hasMatch(); +} + +bool validateCursorString(const QString &value) { + return QRegularExpression("^[a-z_]+$").match(value).hasMatch(); +} + +bool validateAlignString(const QString &value) { + return QRegularExpression("^[a-z_]+$").match(value).hasMatch(); +} + } // namespace ParsedFile::ParsedFile(const Options &options) @@ -109,11 +168,21 @@ bool ParsedFile::read() { } } else if (auto braceOpen = file_.getToken(BasicType::LeftBrace)) { if (auto structResult = readStruct(tokenValue(startToken))) { + if (findStruct(structResult.name)) { + logError(kErrorAlreadyDefined) << "struct '" << logFullName(structResult.name) << "' already defined"; + break; + } + result_.structsByName.insert(fullNameKey(structResult.name), result_.structs.size()); result_.structs.push_back(structResult); continue; } } else if (auto colonToken = file_.getToken(BasicType::Colon)) { if (auto variableResult = readVariable(tokenValue(startToken))) { + if (findVariable(variableResult.name)) { + logError(kErrorAlreadyDefined) << "variable '" << logFullName(variableResult.name) << "' already defined"; + break; + } + result_.variablesByName.insert(fullNameKey(variableResult.name), result_.variables.size()); result_.variables.push_back(variableResult); continue; } @@ -139,19 +208,15 @@ common::LogStream ParsedFile::logErrorTypeMismatch() { structure::Module ParsedFile::readIncluded() { structure::Module result; - if (auto usingFile = file_.getToken(BasicType::String)) { - if (file_.getToken(BasicType::Semicolon)) { + if (auto usingFile = assertNextToken(BasicType::String)) { + if (assertNextToken(BasicType::Semicolon)) { ParsedFile included(includedOptions(tokenValue(usingFile))); if (included.read()) { result = included.data(); } else { logError(kErrorInIncluded) << "error while parsing '" << tokenValue(usingFile).toStdString() << "'"; } - } else { - logErrorUnexpectedToken() << "';'"; } - } else { - logErrorUnexpectedToken() << "file path"; } return result; } @@ -163,13 +228,11 @@ structure::Struct ParsedFile::readStruct(const QString &name) { if (auto field = readStructField(tokenValue(fieldName))) { result.fields.push_back(field); } - } else if (auto braceClose = file_.getToken(BasicType::RightBrace)) { + } else if (assertNextToken(BasicType::RightBrace)) { if (result.fields.isEmpty()) { logErrorUnexpectedToken() << "at least one field in struct"; } break; - } else { - logErrorUnexpectedToken() << "struct field name or '}'"; } } while (!failed()); return result; @@ -179,8 +242,8 @@ structure::Variable ParsedFile::readVariable(const QString &name) { structure::Variable result = { composeFullName(name) }; if (auto value = readValue()) { result.value = value; - if (!file_.getToken(BasicType::Semicolon)) { - logErrorUnexpectedToken() << "';'"; + if (value.type().tag != structure::TypeTag::Struct) { + assertNextToken(BasicType::Semicolon); } } return result; @@ -188,31 +251,30 @@ structure::Variable ParsedFile::readVariable(const QString &name) { structure::StructField ParsedFile::readStructField(const QString &name) { structure::StructField result = { composeFullName(name) }; - if (auto colonToken = file_.getToken(BasicType::Colon)) { + if (auto colonToken = assertNextToken(BasicType::Colon)) { if (auto type = readType()) { result.type = type; - if (!file_.getToken(BasicType::Semicolon)) { - logErrorUnexpectedToken() << "';'"; - } + assertNextToken(BasicType::Semicolon); } - } else { - logErrorUnexpectedToken() << "':'"; } return result; } structure::Type ParsedFile::readType() { structure::Type result; - if (auto nameToken = file_.getToken(BasicType::Name)) { + if (auto nameToken = assertNextToken(BasicType::Name)) { auto name = tokenValue(nameToken); if (auto builtInType = typeNames_.value(name.toStdString())) { result = builtInType; } else { - result.tag = structure::TypeTag::Struct; - result.name = composeFullName(name); + auto fullName = composeFullName(name); + if (findStruct(fullName)) { + result.tag = structure::TypeTag::Struct; + result.name = fullName; + } else { + logError(kErrorIdentifierNotFound) << "type name '" << logFullName(fullName) << "' not found"; + } } - } else { - logErrorUnexpectedToken() << "type name"; } return result; } @@ -254,17 +316,12 @@ structure::Value ParsedFile::readStructValue() { if (auto structName = file_.getToken(BasicType::Name)) { if (auto result = defaultConstructedStruct(composeFullName(tokenValue(structName)))) { if (file_.getToken(BasicType::LeftParenthesis)) { - if (readStructParents(result)) { - if (file_.getToken(BasicType::LeftBrace)) { - readStructValueInner(result); - } else { - logErrorUnexpectedToken() << "'{'"; - } + if (!readStructParents(result)) { + return {}; } - } else if (file_.getToken(BasicType::LeftBrace)) { + } + if (assertNextToken(BasicType::LeftBrace)) { readStructValueInner(result); - } else { - logErrorUnexpectedToken() << "'(' or '{'"; } return result; } @@ -274,71 +331,91 @@ structure::Value ParsedFile::readStructValue() { } structure::Value ParsedFile::defaultConstructedStruct(const structure::FullName &structName) { - structure::Value result; - for (const auto &structType : result_.structs) { - if (structType.name == structName) { - result.fields.reserve(structType.fields.size()); - for (const auto &fieldType : structType.fields) { - result.fields.push_back({ fieldType.name, fieldType.type }); - } + if (auto pattern = findStruct(structName)) { + QList fields; + fields.reserve(pattern->fields.size()); + for (const auto &fieldType : pattern->fields) { + fields.push_back({ fieldType.name, { fieldType.type, Qt::Uninitialized } }); } + return { structName, fields }; } - return result; + return {}; } void ParsedFile::applyStructParent(structure::Value &result, const structure::FullName &parentName) { - for (const auto &structValue : result_.variables) { - if (structValue.name == parentName) { - if (structValue.value.type == result.type) { - const auto &srcFields(structValue.value.fields); - auto &dstFields(result.fields); - logAssert(srcFields.size() == dstFields.size()) << "struct size check failed"; - - for (int i = 0, s = srcFields.size(); i != s; ++i) { - logAssert(srcFields.at(i).value.type == dstFields.at(i).value.type) << "struct field type check failed"; - dstFields[i].value = srcFields.at(i).value; - } - } else { - logErrorTypeMismatch() << "parent '" << logFullName(parentName) << "' has type '" << logType(structValue.value.type) << "' while child value has type " << logType(result.type); - } + if (auto parent = findVariable(parentName)) { + if (parent->value.type() != result.type()) { + logErrorTypeMismatch() << "parent '" << logFullName(parentName) << "' has type '" << logType(parent->value.type()) << "' while child value has type " << logType(result.type()); + return; } + + const auto *srcFields(parent->value.Complex()); + auto *dstFields(result.Complex()); + if (!srcFields || !dstFields) { + logAssert(false) << "struct data check failed"; + return; + } + + logAssert(srcFields->size() == dstFields->size()) << "struct size check failed"; + for (int i = 0, s = srcFields->size(); i != s; ++i) { + const auto &srcValue(srcFields->at(i).value); + auto &dstValue((*dstFields)[i].value); + logAssert(srcValue.type() == dstValue.type()) << "struct field type check failed"; + dstValue = srcValue; + } + } else { + logError(kErrorIdentifierNotFound) << "parent '" << logFullName(parentName) << "' not found"; } } bool ParsedFile::readStructValueInner(structure::Value &result) { do { if (auto fieldName = file_.getToken(BasicType::Name)) { - if (auto field = readVariable(tokenValue(fieldName))) { - for (auto &already : result.fields) { - if (already.name == field.name) { - if (already.value.type == field.value.type) { - already.value = field.value; - return true; - } else { - logErrorTypeMismatch() << "field '" << logFullName(already.name) << "' has type '" << logType(already.value.type) << "' while value has type " << logType(field.value.type); - return false; - } - } - } - logError(kErrorUnknownField) << "field '" << logFullName(field.name) << "' was not found in struct of type '" << logType(result.type) << "'"; + if (!assertNextToken(BasicType::Colon)) { + return false; } - } else if (file_.getToken(BasicType::RightBrace)) { + + if (auto field = readVariable(tokenValue(fieldName))) { + if (!assignStructField(result, field)) { + return false; + } + } + } else if (assertNextToken(BasicType::RightBrace)) { return true; - } else { - logErrorUnexpectedToken() << "variable field name or '}'"; } } while (!failed()); return false; } +bool ParsedFile::assignStructField(structure::Value &result, const structure::Variable &field) { + auto *fields = result.Complex(); + if (!fields) { + logAssert(false) << "struct data check failed"; + return false; + } + for (auto &already : *fields) { + if (already.name == field.name) { + if (already.value.type() == field.value.type()) { + already.value = field.value; + return true; + } else { + logErrorTypeMismatch() << "field '" << logFullName(already.name) << "' has type '" << logType(already.value.type()) << "' while value has type '" << logType(field.value.type()) << "'"; + return false; + } + } + } + logError(kErrorUnknownField) << "field '" << logFullName(field.name) << "' was not found in struct of type '" << logType(result.type()) << "'"; + return false; +} + bool ParsedFile::readStructParents(structure::Value &result) { do { - if (auto parentName = file_.getToken(BasicType::Name)) { + if (auto parentName = assertNextToken(BasicType::Name)) { applyStructParent(result, composeFullName(tokenValue(parentName))); if (file_.getToken(BasicType::RightParenthesis)) { return true; - } else if (!file_.getToken(BasicType::Comma)) { - logErrorUnexpectedToken() << "',' or ')'"; + } else { + assertNextToken(BasicType::Comma); } } else { logErrorUnexpectedToken() << "struct variable parent"; @@ -347,30 +424,17 @@ bool ParsedFile::readStructParents(structure::Value &result) { return false; } -//ParsedFile::Token ParsedFile::readInVariableChild() { -// if (auto value = readValue()) { -// if (file_.getToken(BasicType::Semicolon)) { -// state_ = State::Default; -// return value; -// } -// logErrorUnexpectedToken(";"); -// } else { -// logErrorUnexpectedToken("variable field value"); -// } -// return invalidToken(); -//} -// structure::Value ParsedFile::readPositiveValue() { auto numericToken = file_.getAnyToken(); if (numericToken.type == BasicType::Int) { - return { { structure::TypeTag::Int }, tokenValue(numericToken) }; + return { structure::TypeTag::Int, tokenValue(numericToken).toInt() }; } else if (numericToken.type == BasicType::Double) { - return { { structure::TypeTag::Double }, tokenValue(numericToken) }; + return { tokenValue(numericToken).toDouble() }; } else if (numericToken.type == BasicType::Name) { auto value = tokenValue(numericToken); auto match = QRegularExpression("^\\d+px$").match(value); if (match.hasMatch()) { - return { { structure::TypeTag::Pixels }, value.mid(0, value.size() - 2) }; + return { structure::TypeTag::Pixels, value.mid(0, value.size() - 2).toInt() }; } } file_.putBack(); @@ -382,7 +446,7 @@ structure::Value ParsedFile::readNumericValue() { return value; } else if (auto minusToken = file_.getToken(BasicType::Minus)) { if (auto positiveValue = readNumericValue()) { - return { positiveValue.type, '-' + positiveValue.data }; + return { positiveValue.type().tag, -positiveValue.Int() }; } logErrorUnexpectedToken() << "numeric value"; } @@ -391,7 +455,11 @@ structure::Value ParsedFile::readNumericValue() { structure::Value ParsedFile::readStringValue() { if (auto stringToken = file_.getToken(BasicType::String)) { - return { { structure::TypeTag::String }, stringToken.value }; + auto value = tokenValue(stringToken); + if (validateAnsiString(value)) { + return { structure::TypeTag::String, stringToken.value.toStdString() }; + } + logError(kErrorBadString) << "unicode symbols are not supported"; } return {}; } @@ -400,47 +468,92 @@ structure::Value ParsedFile::readColorValue() { if (auto numberSign = file_.getToken(BasicType::Number)) { auto color = file_.getAnyToken(); if (color.type == BasicType::Int || color.type == BasicType::Name) { - auto chars = tokenValue(color); + auto chars = tokenValue(color).toLower(); if (isValidColor(chars)) { - return { { structure::TypeTag::Color }, chars.toLower() }; + return { convertWebColor(chars) }; } } else { logErrorUnexpectedToken() << "color value in #ccc, #ccca, #cccccc or #ccccccaa format"; } + } else if (auto rgbaToken = file_.getToken(BasicType::Name)) { + if (tokenValue(rgbaToken) == "rgba") { + assertNextToken(BasicType::LeftParenthesis); + + auto r = readNumericValue(); assertNextToken(BasicType::Comma); + auto g = readNumericValue(); assertNextToken(BasicType::Comma); + auto b = readNumericValue(); assertNextToken(BasicType::Comma); + auto a = readNumericValue(); + if (r.type().tag != structure::TypeTag::Int || r.Int() < 0 || r.Int() > 255 || + g.type().tag != structure::TypeTag::Int || g.Int() < 0 || g.Int() > 255 || + b.type().tag != structure::TypeTag::Int || b.Int() < 0 || b.Int() > 255 || + a.type().tag != structure::TypeTag::Int || a.Int() < 0 || a.Int() > 255) { + logErrorTypeMismatch() << "expected four 0-255 values for the rgba color"; + } + + assertNextToken(BasicType::RightParenthesis); + + return { convertIntColor(r.Int(), g.Int(), b.Int(), a.Int()) }; + } else if (tokenValue(rgbaToken) == "rgb") { + assertNextToken(BasicType::LeftParenthesis); + + auto r = readNumericValue(); assertNextToken(BasicType::Comma); + auto g = readNumericValue(); assertNextToken(BasicType::Comma); + auto b = readNumericValue(); + if (r.type().tag != structure::TypeTag::Int || r.Int() < 0 || r.Int() > 255 || + g.type().tag != structure::TypeTag::Int || g.Int() < 0 || g.Int() > 255 || + b.type().tag != structure::TypeTag::Int || b.Int() < 0 || b.Int() > 255) { + logErrorTypeMismatch() << "expected three int values for the rgb color"; + } + + assertNextToken(BasicType::RightParenthesis); + + return { convertIntColor(r.Int(), g.Int(), b.Int(), 255) }; + } + file_.putBack(); } return {}; } structure::Value ParsedFile::readPointValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "point") { + assertNextToken(BasicType::LeftParenthesis); + + auto x = readNumericValue(); assertNextToken(BasicType::Comma); + auto y = readNumericValue(); + if (x.type().tag != structure::TypeTag::Pixels || + y.type().tag != structure::TypeTag::Pixels) { + logErrorTypeMismatch() << "expected two px values for the point"; + } + + assertNextToken(BasicType::RightParenthesis); + + return { structure::data::point { x.Int(), y.Int() } }; + } + file_.putBack(); + } return {}; } structure::Value ParsedFile::readSpriteValue() { if (auto font = file_.getToken(BasicType::Name)) { if (tokenValue(font) == "sprite") { - if (!file_.getToken(BasicType::LeftParenthesis)) { - logErrorUnexpectedToken() << "'(' and sprite definition"; - return {}; - } + assertNextToken(BasicType::LeftParenthesis); - auto x = readNumericValue(); file_.getToken(BasicType::Comma); - auto y = readNumericValue(); file_.getToken(BasicType::Comma); - auto w = readNumericValue(); file_.getToken(BasicType::Comma); + auto x = readNumericValue(); assertNextToken(BasicType::Comma); + auto y = readNumericValue(); assertNextToken(BasicType::Comma); + auto w = readNumericValue(); assertNextToken(BasicType::Comma); auto h = readNumericValue(); - if (x.type.tag != structure::TypeTag::Pixels || - y.type.tag != structure::TypeTag::Pixels || - w.type.tag != structure::TypeTag::Pixels || - h.type.tag != structure::TypeTag::Pixels) { - logErrorTypeMismatch() << "px rect for the sprite expected"; - return {}; + if (x.type().tag != structure::TypeTag::Pixels || + y.type().tag != structure::TypeTag::Pixels || + w.type().tag != structure::TypeTag::Pixels || + h.type().tag != structure::TypeTag::Pixels) { + logErrorTypeMismatch() << "expected four px values for the sprite"; } - if (!file_.getToken(BasicType::RightParenthesis)) { - logErrorUnexpectedToken() << "')'"; - return {}; - } + assertNextToken(BasicType::RightParenthesis); - return { { structure::TypeTag::Sprite }, x.data + ',' + y.data + ',' + w.data + ',' + h.data }; + return { structure::data::sprite { x.Int(), y.Int(), w.Int(), h.Int() } }; } file_.putBack(); } @@ -448,43 +561,138 @@ structure::Value ParsedFile::readSpriteValue() { } structure::Value ParsedFile::readSizeValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "size") { + assertNextToken(BasicType::LeftParenthesis); + + auto w = readNumericValue(); assertNextToken(BasicType::Comma); + auto h = readNumericValue(); + if (w.type().tag != structure::TypeTag::Pixels || + h.type().tag != structure::TypeTag::Pixels) { + logErrorTypeMismatch() << "expected two px values for the size"; + } + + assertNextToken(BasicType::RightParenthesis); + + return { structure::data::size { w.Int(), h.Int() } }; + } + file_.putBack(); + } return {}; } structure::Value ParsedFile::readTransitionValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "transition") { + assertNextToken(BasicType::LeftParenthesis); + + auto transition = tokenValue(assertNextToken(BasicType::Name)); + + assertNextToken(BasicType::RightParenthesis); + + if (validateTransitionString(transition)) { + return { structure::TypeTag::Transition, transition.toStdString() }; + } else { + logError(kErrorBadString) << "bad transition value"; + } + } + file_.putBack(); + } return {}; } structure::Value ParsedFile::readCursorValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "cursor") { + assertNextToken(BasicType::LeftParenthesis); + + auto cursor = tokenValue(assertNextToken(BasicType::Name)); + + assertNextToken(BasicType::RightParenthesis); + + if (validateCursorString(cursor)) { + return { structure::TypeTag::Cursor, cursor.toStdString() }; + } else { + logError(kErrorBadString) << "bad cursor string"; + } + } + file_.putBack(); + } return {}; } structure::Value ParsedFile::readAlignValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "align") { + assertNextToken(BasicType::LeftParenthesis); + + auto align = tokenValue(assertNextToken(BasicType::Name)); + + assertNextToken(BasicType::RightParenthesis); + + if (validateAlignString(align)) { + return { structure::TypeTag::Align, align.toStdString() }; + } else { + logError(kErrorBadString) << "bad align string"; + } + } + file_.putBack(); + } return {}; } structure::Value ParsedFile::readMarginsValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "margins") { + assertNextToken(BasicType::LeftParenthesis); + + auto l = readNumericValue(); assertNextToken(BasicType::Comma); + auto t = readNumericValue(); assertNextToken(BasicType::Comma); + auto r = readNumericValue(); assertNextToken(BasicType::Comma); + auto b = readNumericValue(); + if (l.type().tag != structure::TypeTag::Pixels || + t.type().tag != structure::TypeTag::Pixels || + r.type().tag != structure::TypeTag::Pixels || + b.type().tag != structure::TypeTag::Pixels) { + logErrorTypeMismatch() << "expected four px values for the margins"; + } + + assertNextToken(BasicType::RightParenthesis); + + return { structure::data::margins { l.Int(), t.Int(), r.Int(), b.Int() } }; + } + file_.putBack(); + } return {}; } structure::Value ParsedFile::readFontValue() { if (auto font = file_.getToken(BasicType::Name)) { if (tokenValue(font) == "font") { - if (!file_.getToken(BasicType::LeftParenthesis)) { - logErrorUnexpectedToken() << "'(' and font definition"; - return {}; - } + assertNextToken(BasicType::LeftParenthesis); + int flags = 0; structure::Value family, size; do { + if (auto formatToken = file_.getToken(BasicType::Name)) { + if (tokenValue(formatToken) == "bold") { + flags |= structure::data::font::Bold; + } else if (tokenValue(formatToken) == "italic") { + flags |= structure::data::font::Italic; + } else if (tokenValue(formatToken) == "underline") { + flags |= structure::data::font::Underline; + } else { + file_.putBack(); + } + } if (auto familyValue = readStringValue()) { family = familyValue; } else if (auto sizeValue = readNumericValue()) { size = sizeValue; } else if (auto copyValue = readCopyValue()) { - if (copyValue.type.tag == structure::TypeTag::String) { + if (copyValue.type().tag == structure::TypeTag::String) { family = copyValue; - } else if (copyValue.type.tag == structure::TypeTag::Pixels) { + } else if (copyValue.type().tag == structure::TypeTag::Pixels) { size = copyValue; } else { logErrorUnexpectedToken() << "font family, font size or ')'"; @@ -496,10 +704,10 @@ structure::Value ParsedFile::readFontValue() { } } while (!failed()); - if (size.type.tag != structure::TypeTag::Pixels) { + if (size.type().tag != structure::TypeTag::Pixels) { logErrorTypeMismatch() << "px value for the font size expected"; } - return { { structure::TypeTag::Font }, size.data + ',' + family.data }; + return { structure::data::font { family.String(), size.Int(), flags } }; } file_.putBack(); } @@ -509,18 +717,64 @@ structure::Value ParsedFile::readFontValue() { structure::Value ParsedFile::readCopyValue() { if (auto copyName = file_.getToken(BasicType::Name)) { structure::FullName name = { tokenValue(copyName) }; - for (const auto &variable : result_.variables) { - if (variable.name == name) { - auto result = variable.value; - result.copy = variable.name; - return result; - } + if (auto variable = findVariable(name)) { + return variable->value.makeCopy(variable->name); } logError(kErrorIdentifierNotFound) << "identifier '" << logFullName(name) << "' not found"; } return {}; } +// Returns nullptr if there is no such struct in result_ or any of included modules. +const structure::Struct *ParsedFile::findStruct(const structure::FullName &name) { + if (auto result = findStructInModule(name, result_)) { + return result; + } + for (const auto &included : result_.includes) { + if (auto result = findStructInModule(name, included)) { + return result; + } + } + return nullptr; +} + +const structure::Struct *ParsedFile::findStructInModule(const structure::FullName &name, const structure::Module &module) { + auto index = module.structsByName.value(fullNameKey(name), -1); + if (index < 0) { + return nullptr; + } + return &module.structs.at(index); +} + +// Returns nullptr if there is no such variable in result_ or any of included modules. +const structure::Variable *ParsedFile::findVariable(const structure::FullName &name) { + if (auto result = findVariableInModule(name, result_)) { + return result; + } + for (const auto &included : result_.includes) { + if (auto result = findVariableInModule(name, included)) { + return result; + } + } + return nullptr; +} + +const structure::Variable *ParsedFile::findVariableInModule(const structure::FullName &name, const structure::Module &module) { + auto index = module.variablesByName.value(fullNameKey(name), -1); + if (index < 0) { + return nullptr; + } + return &module.variables.at(index); +} + +BasicToken ParsedFile::assertNextToken(BasicToken::Type type) { + auto result = file_.getToken(type); + if (!result) { + logErrorUnexpectedToken() << type; + } + return result; +} + Options ParsedFile::includedOptions(const QString &filepath) { auto result = options_; result.inputPath = filepath; diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.h b/Telegram/SourceFiles/codegen/style/parsed_file.h index a41efe946..6106d728a 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.h +++ b/Telegram/SourceFiles/codegen/style/parsed_file.h @@ -78,6 +78,7 @@ private: structure::Value defaultConstructedStruct(const structure::FullName &name); void applyStructParent(structure::Value &result, const structure::FullName &parentName); bool readStructValueInner(structure::Value &result); + bool assignStructField(structure::Value &result, const structure::Variable &field); bool readStructParents(structure::Value &result); // Simple methods for reading value types. @@ -95,6 +96,18 @@ private: structure::Value readFontValue(); structure::Value readCopyValue(); + // Returns nullptr if there is no such struct in result_ or any of included modules. + const structure::Struct *findStruct(const structure::FullName &name); + const structure::Struct *findStructInModule(const structure::FullName &name, const structure::Module &module); + + // Returns nullptr if there is no such variable in result_ or any of included modules. + const structure::Variable *findVariable(const structure::FullName &name); + const structure::Variable *findVariableInModule(const structure::FullName &name, const structure::Module &module); + + // Read next token and fire unexpected token error if it is not of "type". + using BasicToken = common::BasicTokenizedFile::Token; + BasicToken assertNextToken(BasicToken::Type type); + // Look through include directories in options_ and find absolute include path. Options includedOptions(const QString &filepath); diff --git a/Telegram/SourceFiles/codegen/style/structure.h b/Telegram/SourceFiles/codegen/style/structure.h index c4f7b68c2..8f29350b4 100644 --- a/Telegram/SourceFiles/codegen/style/structure.h +++ b/Telegram/SourceFiles/codegen/style/structure.h @@ -21,60 +21,14 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include -#include +#include +#include +#include "codegen/style/structure_types.h" namespace codegen { namespace style { namespace structure { -// List of names, like overview.document.bg -using FullName = QStringList; - -enum class TypeTag { - Invalid, - Int, - Double, - Pixels, - String, - Color, - Point, - Sprite, - Size, - Transition, - Cursor, - Align, - Margins, - Font, - Struct, -}; - -struct Type { - TypeTag tag; - FullName name; // only for type == ClassType::Struct - - explicit operator bool() const { - return (tag != TypeTag::Invalid); - } -}; -inline bool operator==(const Type &a, const Type &b) { - return (a.tag == b.tag) && (a.name == b.name); -} -inline bool operator!=(const Type &a, const Type &b) { - return !(a == b); -} - -struct Variable; -struct Value { - Type type; - QString data; // for plain types - QList fields; // for struct types - FullName copy; // for copies of existing named values - - explicit operator bool() const { - return !data.isEmpty() || !fields.isEmpty() || !copy.isEmpty(); - } -}; - struct Variable { FullName name; Value value; @@ -107,6 +61,8 @@ struct Module { QList includes; QList structs; QList variables; + QMap structsByName; + QMap variablesByName; explicit operator bool() const { return !fullpath.isEmpty(); diff --git a/Telegram/SourceFiles/codegen/style/structure_types.cpp b/Telegram/SourceFiles/codegen/style/structure_types.cpp new file mode 100644 index 000000000..15a973efd --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/structure_types.cpp @@ -0,0 +1,204 @@ +/* +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 "codegen/style/structure_types.h" + +#include "codegen/style/structure.h" + +namespace codegen { +namespace style { +namespace structure { + +struct Value::DataTypes { + class TInt : public DataBase { + public: + TInt(int value) : value_(value) { + } + int Int() const override { return value_; } + + private: + int value_; + + }; + class TDouble : public DataBase { + public: + TDouble(double value) : value_(value) { + } + double Double() const override { return value_; } + + private: + double value_; + + }; + class TString : public DataBase { + public: + TString(std::string value) : value_(value) { + } + std::string String() const override { return value_; } + + private: + std::string value_; + + }; + class TPoint : public DataBase { + public: + TPoint(data::point value) : value_(value) { + } + data::point Point() const override { return value_; } + + private: + data::point value_; + + }; + class TSprite : public DataBase { + public: + TSprite(data::sprite value) : value_(value) { + } + data::sprite Sprite() const override { return value_; } + + private: + data::sprite value_; + + }; + class TSize : public DataBase { + public: + TSize(data::size value) : value_(value) { + } + data::size Size() const override { return value_; } + + private: + data::size value_; + + }; + class TColor : public DataBase { + public: + TColor(data::color value) : value_(value) { + } + data::color Color() const override { return value_; } + + private: + data::color value_; + + }; + class TMargins : public DataBase { + public: + TMargins(data::margins value) : value_(value) { + } + data::margins Margins() const override { return value_; } + + private: + data::margins value_; + + }; + class TFont : public DataBase { + public: + TFont(data::font value) : value_(value) { + } + data::font Font() const override { return value_; } + + private: + data::font value_; + + }; + class TComplex : public DataBase { + public: + TComplex(data::complex value) : value_(value) { + } + const data::complex *Complex() const override { return &value_; } + data::complex *Complex() override { return &value_; } + + private: + data::complex value_; + + }; +}; + +Value::Value() : Value(TypeTag::Invalid, std::make_shared()) { +} + +Value::Value(double value) : Value(TypeTag::Double, std::make_shared(value)) { +} + +Value::Value(data::point value) : Value(TypeTag::Point, std::make_shared(value)) { +} + +Value::Value(data::sprite value) : Value(TypeTag::Sprite, std::make_shared(value)) { +} + +Value::Value(data::size value) : Value(TypeTag::Size, std::make_shared(value)) { +} + +Value::Value(data::color value) : Value(TypeTag::Color, std::make_shared(value)) { +} + +Value::Value(data::margins value) : Value(TypeTag::Margins, std::make_shared(value)) { +} + +Value::Value(data::font value) : Value(TypeTag::Font, std::make_shared(value)) { +} + +Value::Value(const FullName &type, data::complex value) +: type_ { TypeTag::Struct, type } +, data_(std::make_shared(value)) { +} + +Value::Value(TypeTag type, int value) : Value(type, std::make_shared(value)) { + if (type_.tag != TypeTag::Int && type_.tag != TypeTag::Pixels) { + type_.tag = TypeTag::Invalid; + data_ = std::make_shared(); + } +} + +Value::Value(TypeTag type, std::string value) : Value(type, std::make_shared(value)) { + if (type_.tag != TypeTag::String && + type_.tag != TypeTag::Transition && + type_.tag != TypeTag::Cursor && + type_.tag != TypeTag::Align) { + type_.tag = TypeTag::Invalid; + data_ = std::make_shared(); + } +} + +Value::Value(Type type, Qt::Initialization) : type_(type) { + switch (type_.tag) { + case TypeTag::Invalid: data_ = std::make_shared(); break; + case TypeTag::Int: data_ = std::make_shared(0); break; + case TypeTag::Double: data_ = std::make_shared(0.); break; + case TypeTag::Pixels: data_ = std::make_shared(0); break; + case TypeTag::String: data_ = std::make_shared(""); break; + case TypeTag::Color: data_ = std::make_shared(data::color { 0, 0, 0, 255 }); break; + case TypeTag::Point: data_ = std::make_shared(data::point { 0, 0 }); break; + case TypeTag::Sprite: data_ = std::make_shared(data::sprite { 0, 0, 0, 0 }); break; + case TypeTag::Size: data_ = std::make_shared(data::size { 0, 0 }); break; + case TypeTag::Transition: data_ = std::make_shared("linear"); break; + case TypeTag::Cursor: data_ = std::make_shared("default"); break; + case TypeTag::Align: data_ = std::make_shared("left"); break; + case TypeTag::Margins: data_ = std::make_shared(data::margins { 0, 0, 0, 0 }); break; + case TypeTag::Font: data_ = std::make_shared(data::font { "", 13, 0 }); break; + case TypeTag::Struct: data_ = std::make_shared(data::complex {}); break; + } +} + +Value::Value(TypeTag type, std::shared_ptr &&data) : type_ { type }, data_(std::move(data)) { +} + +} // namespace structure +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/structure_types.h b/Telegram/SourceFiles/codegen/style/structure_types.h new file mode 100644 index 000000000..2e2703b3c --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/structure_types.h @@ -0,0 +1,174 @@ +/* +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 +#include +#include + +namespace codegen { +namespace style { +namespace structure { + +// List of names, like overview.document.bg +using FullName = QStringList; + +struct Variable; + +enum class TypeTag { + Invalid, + Int, + Double, + Pixels, + String, + Color, + Point, + Sprite, + Size, + Transition, + Cursor, + Align, + Margins, + Font, + Struct, +}; + +struct Type { + TypeTag tag; + FullName name; // only for type == ClassType::Struct + + explicit operator bool() const { + return (tag != TypeTag::Invalid); + } +}; +inline bool operator==(const Type &a, const Type &b) { + return (a.tag == b.tag) && (a.name == b.name); +} +inline bool operator!=(const Type &a, const Type &b) { + return !(a == b); +} + +namespace data { + +struct point { + int x, y; +}; +struct sprite { + int left, top, width, height; +}; +struct size { + int width, height; +}; +struct color { + uchar red, green, blue, alpha; +}; +struct margins { + int left, top, right, bottom; +}; +struct font { + enum Flag { + Bold = 0x01, + Italic = 0x02, + Underline = 0x04, + }; + std::string family; + int size; + int flags; +}; +using complex = QList; + +} // namespace data + +class Value { +public: + Value(); + Value(double value); + Value(data::point value); + Value(data::sprite value); + Value(data::size value); + Value(data::color value); + Value(data::margins value); + Value(data::font value); + Value(const FullName &type, data::complex value); + + // Can be int / pixels. + Value(TypeTag type, int value); + + // Can be string / transition / cursor / align. + Value(TypeTag type, std::string value); + + // Default constructed value (uninitialized). + Value(Type type, Qt::Initialization); + + Type type() const { return type_; } + int Int() const { return data_->Int(); } + double Double() const { return data_->Double(); } + std::string String() const { return data_->String(); } + data::point Point() const { return data_->Point(); } + data::sprite Sprite() const { return data_->Sprite(); }; + data::size Size() const { return data_->Size(); }; + data::color Color() const { return data_->Color(); }; + data::margins Margins() const { return data_->Margins(); }; + data::font Font() const { return data_->Font(); }; + const data::complex *Complex() const { return data_->Complex(); }; + data::complex *Complex() { return data_->Complex(); }; + + explicit operator bool() const { + return type_.tag != TypeTag::Invalid; + } + + Value makeCopy(const FullName ©Of) const { + Value result(*this); + result.copyOf_ = copyOf; + return result; + } + +private: + class DataBase { + public: + virtual int Int() const { return 0; } + virtual double Double() const { return 0.; } + virtual std::string String() const { return std::string(); } + virtual data::point Point() const { return {}; }; + virtual data::sprite Sprite() const { return {}; }; + virtual data::size Size() const { return {}; }; + virtual data::color Color() const { return {}; }; + virtual data::margins Margins() const { return {}; }; + virtual data::font Font() const { return {}; }; + virtual const data::complex *Complex() const { return nullptr; }; + virtual data::complex *Complex() { return nullptr; }; + virtual ~DataBase() { + } + }; + struct DataTypes; + + Value(TypeTag type, std::shared_ptr &&data); + + Type type_; + std::shared_ptr data_; + + FullName copyOf_; // for copies of existing named values + +}; + +} // namespace structure +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/pspecific_mac_p.mm b/Telegram/SourceFiles/pspecific_mac_p.mm index 392acfd00..574e01779 100644 --- a/Telegram/SourceFiles/pspecific_mac_p.mm +++ b/Telegram/SourceFiles/pspecific_mac_p.mm @@ -794,7 +794,7 @@ void objc_openFile(const QString &f, bool openwith) { NSOpenPanel *openPanel = [NSOpenPanel openPanel]; - NSRect fullRect = { { 0., 0. }, { st::macAccessory.width() * 1., st::macAccessory.height() * 1. } }; + NSRect fullRect = { { 0., 0. }, { st::macAccessoryWidth, st::macAccessoryHeight } }; NSView *accessory = [[NSView alloc] initWithFrame:fullRect]; [accessory setAutoresizesSubviews:YES]; @@ -861,7 +861,7 @@ void objc_openFile(const QString &f, bool openwith) { NSImageView *badIcon = [[NSImageView alloc] init]; NSImage *badImage = [NSImage imageNamed:NSImageNameCaution]; [badIcon setImage:badImage]; - [badIcon setFrame:NSMakeRect(0, 0, st::macCautionIconSize.width(), st::macCautionIconSize.height())]; + [badIcon setFrame:NSMakeRect(0, 0, st::macCautionIconSize, st::macCautionIconSize)]; NSRect badFrame = [badLabel frame], badIconFrame = [badIcon frame]; badFrame.origin.x = (fullRect.size.width - badFrame.size.width + badIconFrame.size.width) / 2.; diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj b/Telegram/build/vc/codegen_style/codegen_style.vcxproj index 848016fb3..29b8674b4 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj @@ -19,6 +19,7 @@ + @@ -31,6 +32,7 @@ + {E4DF8176-4DEF-4859-962F-B497E3E7A323} diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters b/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters index 9c64d8737..20abd6169 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters @@ -37,6 +37,9 @@ src\style + + src\style + @@ -69,5 +72,8 @@ src\style + + src\style + \ No newline at end of file From 4fe70c3a12ded58216572006ec84798845a65eef Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 18 Apr 2016 23:33:43 +0300 Subject: [PATCH 05/16] codegen_style completely replaces style gen with MetaStyle. codegen_numbers project started to replace MetaStyle completely. --- Telegram.sln | 14 + Telegram/Resources/all_files.style | 4 +- Telegram/Resources/basic.style | 2525 +++++++++++++++++ Telegram/Resources/basic_types.style | 413 +++ Telegram/Resources/style.txt | 36 +- Telegram/Resources/style_classes.txt | 192 +- Telegram/SourceFiles/app.cpp | 23 +- .../codegen/common/basic_tokenized_file.h | 2 +- .../codegen/common/checked_utf8_string.h | 6 +- .../SourceFiles/codegen/common/clean_file.h | 2 +- .../codegen/common/const_utf8_string.h | 2 +- .../SourceFiles/codegen/common/cpp_file.cpp | 135 + .../SourceFiles/codegen/common/cpp_file.h | 70 + .../SourceFiles/codegen/numbers/generator.cpp | 54 + .../SourceFiles/codegen/numbers/generator.h | 50 + Telegram/SourceFiles/codegen/numbers/main.cpp | 36 + .../SourceFiles/codegen/numbers/options.cpp | 74 + .../SourceFiles/codegen/numbers/options.h | 38 + .../codegen/numbers/parsed_file.cpp | 66 + .../SourceFiles/codegen/numbers/parsed_file.h | 74 + .../SourceFiles/codegen/numbers/processor.cpp | 86 + .../SourceFiles/codegen/numbers/processor.h | 53 + .../SourceFiles/codegen/style/generator.cpp | 534 +++- .../SourceFiles/codegen/style/generator.h | 47 +- Telegram/SourceFiles/codegen/style/main.cpp | 11 +- Telegram/SourceFiles/codegen/style/module.cpp | 101 + Telegram/SourceFiles/codegen/style/module.h | 112 + .../SourceFiles/codegen/style/parsed_file.cpp | 149 +- .../SourceFiles/codegen/style/parsed_file.h | 21 +- .../SourceFiles/codegen/style/processor.cpp | 103 + .../SourceFiles/codegen/style/processor.h | 60 + .../codegen/style/sprite_generator.cpp | 180 ++ .../style/{structure.h => sprite_generator.h} | 68 +- .../codegen/style/structure_types.cpp | 30 +- .../codegen/style/structure_types.h | 71 +- Telegram/SourceFiles/core/basic_types.h | 5 +- Telegram/SourceFiles/dropdown.cpp | 2 +- Telegram/SourceFiles/ui/flatbutton.cpp | 2 +- Telegram/SourceFiles/ui/flatcheckbox.cpp | 4 +- Telegram/SourceFiles/ui/style.h | 4 +- Telegram/SourceFiles/ui/style_core.cpp | 149 +- Telegram/SourceFiles/ui/style_core.h | 77 +- Telegram/Telegram.vcxproj | 30 +- Telegram/Telegram.vcxproj.filters | 21 + .../codegen_numbers/codegen_numbers.vcxproj | 120 + .../codegen_numbers.vcxproj.filters | 82 + .../vc/codegen_style/codegen_style.targets | 2 +- .../vc/codegen_style/codegen_style.vcxproj | 15 +- .../codegen_style.vcxproj.filters | 39 +- 49 files changed, 5535 insertions(+), 459 deletions(-) create mode 100644 Telegram/Resources/basic.style create mode 100644 Telegram/Resources/basic_types.style create mode 100644 Telegram/SourceFiles/codegen/common/cpp_file.cpp create mode 100644 Telegram/SourceFiles/codegen/common/cpp_file.h create mode 100644 Telegram/SourceFiles/codegen/numbers/generator.cpp create mode 100644 Telegram/SourceFiles/codegen/numbers/generator.h create mode 100644 Telegram/SourceFiles/codegen/numbers/main.cpp create mode 100644 Telegram/SourceFiles/codegen/numbers/options.cpp create mode 100644 Telegram/SourceFiles/codegen/numbers/options.h create mode 100644 Telegram/SourceFiles/codegen/numbers/parsed_file.cpp create mode 100644 Telegram/SourceFiles/codegen/numbers/parsed_file.h create mode 100644 Telegram/SourceFiles/codegen/numbers/processor.cpp create mode 100644 Telegram/SourceFiles/codegen/numbers/processor.h create mode 100644 Telegram/SourceFiles/codegen/style/module.cpp create mode 100644 Telegram/SourceFiles/codegen/style/module.h create mode 100644 Telegram/SourceFiles/codegen/style/processor.cpp create mode 100644 Telegram/SourceFiles/codegen/style/processor.h create mode 100644 Telegram/SourceFiles/codegen/style/sprite_generator.cpp rename Telegram/SourceFiles/codegen/style/{structure.h => sprite_generator.h} (62%) create mode 100644 Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj create mode 100644 Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj.filters diff --git a/Telegram.sln b/Telegram.sln index fe3eed1b1..b474402bc 100644 --- a/Telegram.sln +++ b/Telegram.sln @@ -9,6 +9,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Telegram", "Telegram\Telegr {E4DF8176-4DEF-4859-962F-B497E3E7A323} = {E4DF8176-4DEF-4859-962F-B497E3E7A323} {E417CAA4-259B-4C99-88E3-805F1300E8EB} = {E417CAA4-259B-4C99-88E3-805F1300E8EB} {EB7D16AC-EACF-4577-B05A-F28E5F356794} = {EB7D16AC-EACF-4577-B05A-F28E5F356794} + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6} = {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaStyle", "Telegram\MetaStyle.vcxproj", "{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}" @@ -25,6 +26,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Packer", "Telegram\Packer.v EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "codegen_style", "Telegram\build\vc\codegen_style\codegen_style.vcxproj", "{E4DF8176-4DEF-4859-962F-B497E3E7A323}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "codegen_numbers", "Telegram\build\vc\codegen_numbers\codegen_numbers.vcxproj", "{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -95,11 +98,22 @@ Global {E4DF8176-4DEF-4859-962F-B497E3E7A323}.Release|Win32.ActiveCfg = Release|Win32 {E4DF8176-4DEF-4859-962F-B497E3E7A323}.Release|Win32.Build.0 = Release|Win32 {E4DF8176-4DEF-4859-962F-B497E3E7A323}.Release|x64.ActiveCfg = Release|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Debug|Win32.ActiveCfg = Debug|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Debug|Win32.Build.0 = Debug|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Debug|x64.ActiveCfg = Debug|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Deploy|Win32.ActiveCfg = Debug|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Deploy|Win32.Build.0 = Debug|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Deploy|x64.ActiveCfg = Release|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Deploy|x64.Build.0 = Release|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Release|Win32.ActiveCfg = Release|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Release|Win32.Build.0 = Release|Win32 + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {E4DF8176-4DEF-4859-962F-B497E3E7A323} = {2F863EAD-33C9-4014-A573-93F085BA9CB1} + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6} = {2F863EAD-33C9-4014-A573-93F085BA9CB1} EndGlobalSection EndGlobal diff --git a/Telegram/Resources/all_files.style b/Telegram/Resources/all_files.style index 09d45ede9..8737bca36 100644 --- a/Telegram/Resources/all_files.style +++ b/Telegram/Resources/all_files.style @@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ // Legacy styles -using "Resources/style_classes.txt"; -using "Resources/style.txt"; +using "Resources/basic_types.style"; +using "Resources/basic.style"; //using "overview/overview.style"; diff --git a/Telegram/Resources/basic.style b/Telegram/Resources/basic.style new file mode 100644 index 000000000..92ed45667 --- /dev/null +++ b/Telegram/Resources/basic.style @@ -0,0 +1,2525 @@ +/* +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 +*/ +using "Resources/basic_types.style"; + +semibold: "Open Sans Semibold"; + +fsize: 13px; +normalFont: font(fsize); +semiboldFont: font(fsize semibold); + +emojiImgSize: 18px; // exceptional value for retina +emojiSize: 18px; +emojiPadding: 0px; + +counterBG: #f23c34; +counterMuteBG: #888; +counterColor: #fff; +counterMacInvColor: #ffffff01; + +lineWidth: 1px; + +transparent: #fff0; +white: #fff; +black: #000; + +color1: #c03d33; // red +color2: #4fad2d; // green +color3: #d09306; // yellow +color4: #348cd4; // blue +color5: #8544d6; // purple +color6: #cd4073; // pink +color7: #2996ad; // sea +color8: #ce671b; // orange + +wndMinWidth: 380px; + +adaptiveNormalWidth: 640px; +adaptiveWideWidth: 1366px; + +wndMinHeight: 480px; +wndDefWidth: 800px; +wndDefHeight: 600px; +wndBG: white; +wndShadow: sprite(209px, 46px, 19px, 19px); +wndShadowShift: 1px; + +layerAlpha: 0.5; +layerBg: black; + +overBg: #edf2f5; + +labelDefFlat: flatLabel { + font: font(fsize); + minWidth: 100px; + width: 0px; + align: align(left); +} + +boxBg: white; +boxVerticalMargin: 10px; +boxWidth: 320px; +boxWideWidth: 364px; +boxPadding: margins(26px, 30px, 34px, 8px); +boxMaxListHeight: 600px; +boxFontSize: 14px; +boxTextFont: font(boxFontSize); +boxLittleSkip: 10px; +boxMediumSkip: 20px; + +boxTitleFg: #444444; +boxTitleFont: font(boxFontSize bold); +boxTitlePosition: point(26px, 28px); +boxTitleHeight: 54px; + +boxBlueTitleBg: #6393b5; +boxBlueTitleAdditionalFg: #dae9f5; +boxBlueTitleAdditionalSkip: 12px; +boxBlueTitlePosition: point(23px, 18px); +boxBlueCloseIcon: sprite(120px, 108px, 12px, 12px); +boxBlueCloseBg: #c8e1f0; +boxBlueCloseDuration: 150; +boxBlueShadow: sprite(132px, 108px, 1px, 4px); + +boxButtonFont: font(boxFontSize semibold); +defaultBoxButton: BoxButton { + textFg: #2f9fea; + textFgOver: #2f9fea; + textBg: white; + textBgOver: #edf7ff; + + width: -24px; + height: 36px; + + textTop: 8px; + + font: boxButtonFont; + duration: 200; +} +cancelBoxButton: BoxButton(defaultBoxButton) { + textFg: #aeaeae; +} +attentionBoxButton: BoxButton(defaultBoxButton) { + textFg: #ea4b2f; + textFgOver: #ea4b2f; + textBgOver: #fff0ed; +} +boxButtonPadding: margins(12px, 16px, 22px, 16px); +defaultBoxLinkButton: linkButton { + color: #0080c0; + overColor: #0080c0; + downColor: #0073ad; + font: boxTextFont; + overFont: font(boxFontSize underline); +} +redBoxLinkButton: linkButton(defaultBoxLinkButton) { + color: #d15948; + overColor: #d15948; + downColor: #db6352; +} +boxLabel: flatLabel(labelDefFlat) { + font: font(boxFontSize); + align: align(topleft); +} + +defaultInputArea: InputArea { + textFg: black; + textMargins: margins(5px, 6px, 5px, 4px); + + placeholderFg: #999; + placeholderFgActive: #aaa; + placeholderMargins: margins(2px, 0px, 2px, 0px); + placeholderAlign: align(topleft); + placeholderShift: 50px; + duration: 120; + + borderFg: #e0e0e0; + borderFgActive: #62c0f7; + borderFgError: #e48383; + + border: 1px; + borderActive: 2px; + borderError: 2px; + + font: boxTextFont; + + heightMin: 32px; + heightMax: 128px; +} +defaultInputField: InputField { + textFg: black; + textMargins: margins(0px, 6px, 0px, 4px); + textAlign: align(topleft); + + placeholderFg: #999; + placeholderFgActive: #aaa; + placeholderMargins: margins(2px, 0px, 2px, 0px); + placeholderAlign: align(topleft); + placeholderShift: 50px; + duration: 120; + + borderFg: #e0e0e0; + borderFgActive: #62c0f7; + borderFgError: #e48383; + + border: 1px; + borderActive: 2px; + borderError: 2px; + + font: boxTextFont; + + height: 32px; +} +dialogsSearchField: InputField(defaultInputField) { + textMargins: margins(34px, 7px, 34px, 7px); + + iconSprite: sprite(227px, 21px, 24px, 24px); + iconPosition: point(6px, 5px); + + width: 240px; + height: 34px; +} +defaultCheckbox: Checkbox { + textFg: black; + textBg: white; + + checkFg: #d9d9d9; + checkFgOver: #bfbfbf; + checkFgActive: #4eb3ee; + + width: -46px; + height: 22px; + + textPosition: point(34px, 0px); + diameter: 22px; + thickness: 2px; + checkIcon: sprite(106px, 136px, 14px, 10px); + + font: boxTextFont; + duration: 120; +} +defaultRadiobutton: Radiobutton { + textFg: black; + textBg: white; + + checkFg: #d9d9d9; + checkFgOver: #bfbfbf; + checkFgActive: #4eb3ee; + + width: -46px; + height: 22px; + + textPosition: point(34px, 0px); + diameter: 22px; + thickness: 2px; + checkSkip: 65px; // * 0.1 + + font: boxTextFont; + duration: 120; +} +solidScroll: flatScroll { + barColor: #3f729734; + bgColor: #214f751a; + barOverColor: #3f729734; + bgOverColor: #214f751a; + + round: 0px; + minHeight: 20px; + + deltax: 5px; + width: 14px; + deltat: 6px; + deltab: 6px; + + topsh: 0px; + bottomsh: 0px; + shColor: rgba(0, 0, 0, 18); + + duration: 150; + hiding: 0; +} +defaultPopupMenu: PopupMenu { + skip: 5px; + + shadow: sprite(241px, 46px, 6px, 6px); + shadowShift: 1px; + + itemBg: white; + itemBgOver: overBg; + itemFg: black; + itemFgOver: black; + itemFgDisabled: #ccc; + itemFgShortcut: #999; + itemFgShortcutOver: #7c99b2; + itemFgShortcutDisabled: #ccc; + + itemPadding: margins(17px, 8px, 17px, 7px); + itemFont: normalFont; + + separatorPadding: margins(0px, 5px, 0px, 5px); + separatorWidth: 1px; + separatorFg: #f1f1f1; + + arrow: sprite(0px, 126px, 4px, 7px); + + duration: 120; + + widthMin: 180px; + widthMax: 300px; +} + +defaultTooltip: Tooltip { + textBg: #eef2f5; + textFg: #5d6c80; + textFont: normalFont; + textBorder: #c9d1db; + textPadding: margins(5px, 2px, 5px, 2px); + + shift: point(-20px, 20px); + skip: 10px; + + widthMax: 800px; + linesMax: 12; +} + +almostTransparent: #ffffff0d; +boxScroll: flatScroll(solidScroll) { + width: 18px; + deltax: 6px; +} +boxScrollSkip: 6px; +boxScrollShadowBg: #00000012; + +boxSearchField: InputField(defaultInputField) { + textMargins: margins(41px, 16px, 41px, 0px); + + placeholderFg: #999; + placeholderFgActive: #aaa; + placeholderMargins: margins(4px, 0px, 4px, 0px); + + border: 0px; + borderActive: 0px; + borderError: 0px; + + height: 48px; + + iconSprite: sprite(227px, 21px, 24px, 24px); + iconPosition: point(15px, 14px); + + font: normalFont; +} +boxSearchCancel: iconedButton { + color: white; + bgColor: white; + overBgColor: white; + font: font(fsize); + + opacity: 0.3; + overOpacity: 0.4; + + textPos: point(0px, 0px); + downTextPos: point(0px, 0px); + + duration: 150; + cursor: cursor(pointer); + + icon: sprite(133px, 108px, 12px, 12px); + iconPos: point(8px, 18px); + downIcon: sprite(133px, 108px, 12px, 12px); + downIconPos: point(8px, 18px); + + width: 41px; + height: 48px; +} + +titleBG: #6389a8; +titleColor: #0f8dcc;//rgb(20, 136, 210); +titleHeight: 39px; +titleIconPos: point(7px, 7px); +titleIconImg: sprite(161px, 100px, 26px, 26px); +titleFont: font(17px); +titlePos: point(44px, 29px); +titleMenuOffset: 36px; + +titleRed: #ee4928; +titleGray: #777; +titleGreen: #41a903; + +titleStatusColor: #999; +titleTypingColor: #0080c0; + +statusFont: font(fsize); +versionColor: #777; + +shadowColor: rgba(0, 0, 0, 24); + +slideDuration: 240; +slideShift: 0.3; +slideFadeOut: 0.3; +slideShadow: sprite(348px, 71px, 48px, 1px); +slideFunction: transition(easeOutCirc); + +btnDefIconed: iconedButton { + color: white; + bgColor: white; + overBgColor: white; + font: font(fsize); + + opacity: 0.78; + overOpacity: 1.; + + textPos: point(0px, 0px); + downTextPos: point(0px, 0px); + + duration: 150; + cursor: cursor(pointer); +} + +sysBtnDelta: 6px; +sysUpd: sysButton { + size: size(31px, 39px); + img: sprite(184px, 1px, 19px, 19px); + color: #c4d8e9; + overColor: white; + duration: 150; +} +updateBlinkDuration: 500; +sysMin: sysButton(sysUpd) { + img: sprite(207px, 1px, 19px, 19px); +} +sysMax: sysButton(sysUpd) { + img: sprite(230px, 1px, 19px, 19px); +} +sysRes: sysButton(sysUpd) { + img: sprite(253px, 1px, 19px, 19px); +} +sysCls: sysButton(sysUpd) { + img: sprite(276px, 1px, 19px, 19px); +} +sysLock: sysButton(sysUpd) { + img: sprite(184px, 22px, 19px, 19px); +} +sysUnlock: sysButton(sysUpd) { + img: sprite(207px, 22px, 19px, 19px); +} +titleBackButton: iconedButton(btnDefIconed) { + icon: sprite(9px, 104px, 13px, 20px); + iconPos: point(5px, 9px); + downIcon: sprite(9px, 104px, 13px, 20px); + downIconPos: point(5px, 10px); + + bgColor: #c4d8e9; + overBgColor: #fff; + + width: -30px; + height: 39px; + + opacity: 1.; + cursor: cursor(default); + + textPos: point(23px, 10px); + downTextPos: point(23px, 11px); +} + +btnWhiteHover: #f5f5f5; +btnBoxWhiteHover: #fafafa; +btnYesColor: #0080c0; +btnYesHover: #0073ad; +btnNoColor: #8b8b8b; +btnNoHover: #777; + +titleTextButton: flatButton { + color: #d4e3ef; + overColor: #fff; + downColor: #fff; + bgColor: transparent; + overBgColor: transparent; + downBgColor: transparent; + + width: -14px; + height: 39px; + + textTop: 10px; + overTextTop: 10px; + downTextTop: 11px; + + font: font(fsize); + overFont: font(fsize); + duration: 150; + cursor: cursor(default); +} + +btnDefFlat: flatButton { + duration: 200; + cursor: cursor(pointer); +} +btnDefBig: flatButton(btnDefFlat) { + textTop: 11px; + overTextTop: 11px; + downTextTop: 12px; + + font: font(23px); + overFont: font(23px); + height: 56px; +} +btnNextBG: #2fa9e2; +btnDefNext: flatButton(btnDefFlat) { + color: white; + overColor: white; + downColor: white; + bgColor: btnNextBG; + overBgColor: #279ad0; + downBgColor: #279ad0; +} +btnDefBack: flatButton(btnDefFlat) { + color: white; + overColor: white; + downColor: white; + bgColor: #c7c7c7; + overBgColor: #b9b9b9; + downBgColor: #b9b9b9; +} + +linkCropLimit: 360px; +linkFont: normalFont; +linkOverFont: font(fsize underline); +btnDefLink: linkButton { + color: btnYesColor; + overColor: btnYesColor; + downColor: btnYesHover; + font: linkFont; + overFont: linkOverFont; +} + +cbDefFlat: flatCheckbox { + textColor: #000; + bgColor: transparent; + disColor: #999; + + height: 22px; + textTop: 1px; + textLeft: 34px; + font: font(fsize); + duration: 200; + bgFunc: transition(easeOutCirc); + cursor: cursor(pointer); + + disabledCursor: cursor(default); + + imageRect: sprite(142px, 43px, 22px, 22px); + chkImageRect: sprite(120px, 68px, 22px, 22px); + overImageRect: sprite(142px, 68px, 22px, 22px); + chkOverImageRect: sprite(120px, 68px, 22px, 22px); + disImageRect: sprite(142px, 43px, 22px, 22px); + chkDisImageRect: sprite(120px, 43px, 22px, 22px); + + imagePos: point(0px, 0px); +} + +rbDefFlat: flatCheckbox(cbDefFlat) { + chkImageRect: sprite(165px, 68px, 22px, 22px); + chkOverImageRect: sprite(165px, 68px, 22px, 22px); + chkDisImageRect: sprite(165px, 43px, 22px, 22px); +} + +inpDefFont: font(17px); +inpDefFlat: flatInput { + textColor: #000; + bgColor: #FFF; + bgActive: #FFF; + width: 210px; + height: 40px; + align: align(left); + textMrg: margins(5px, 5px, 5px, 5px); + font: inpDefFont; + cursor: cursor(text); + + borderWidth: 0px; + borderColor: black; + borderActive: black; + borderError: black; + + phColor: #949494; + phFocusColor: #AAA; + phAlign: align(left); + phPos: point(2px, 0px); + phShift: 50px; + phDuration: 100; + phLeftFunc: transition(linear); + phAlphaFunc: transition(linear); + phColorFunc: transition(linear); +} + +inpDefGray: flatInput(inpDefFlat) { + bgColor: #f2f2f2; + borderWidth: 2px; + borderColor: #f2f2f2; + borderActive: #80cff9; + borderError: #ed8080; + phColor: #808080; +} + +taDefFlat: flatTextarea { + textColor: #000; + bgColor: #FFF; + align: align(left); + textMrg: margins(5px, 5px, 5px, 5px); + font: inpDefFont; + cursor: cursor(text); + + phColor: #999; + phFocusColor: #AAA; + phAlign: align(topleft); + phPos: point(2px, 0px); + phShift: 50px; + phDuration: 100; + phLeftFunc: transition(linear); + phAlphaFunc: transition(linear); + phColorFunc: transition(linear); +} + +scrollDef: flatScroll { + barColor: rgba(0, 0, 0, 83); + bgColor: rgba(0, 0, 0, 26); + barOverColor: rgba(0, 0, 0, 122); + bgOverColor: rgba(0, 0, 0, 44); + + round: 0px; + + width: 10px; + minHeight: 20px; + deltax: 3px; + deltat: 3px; + deltab: 3px; + + topsh: 2px; + bottomsh: 2px; + shColor: rgba(0, 0, 0, 18); + + duration: 150; + hiding: 1000; +} +scrollCountries: flatScroll(scrollDef) { + topsh: 0px; + bottomsh: -2px; +} + +lnkText: #0f7dc7; + +introBtnTop: 288px; +introSkip: 45px; +introFinishSkip: 15px; +introPhotoSize: 98px; +introHeaderFont: font(24px); +introHeaderSkip: 14px; +introIconSkip: 54px; +introFont: font(16px); +introLink: linkButton(btnDefLink) { + font: introFont; + overFont: font(16px underline); +} +introColor: black; +introLabel: flatLabel(labelDefFlat) { + font: introFont; + align: align(center); +} + +introPointsTop: -30px; // intro steps bottom points +introPointWidth: 4px; +introPointHeight: 4px; +introPointHoverWidth: 10px; +introPointHoverHeight: 10px; +introPointLeft: 3px; +introPointTop: 3px; +introPointDelta: 10px; +introPointColor: rgb(0, 0, 0); +introPointAlpha: 0.5; +introPointHoverColor: #86b4e3; +introPointStepT: transition(sineInOut); +introPointAlphaT: transition(linear); +introPointShowStepT: transition(easeOutCirc); +introPointHideStepT: transition(easeInCirc); +introPointShowAlphaT: transition(easeInCirc); +introPointHideAlphaT: transition(easeOutCirc); + +introStepSize: size(400px, 200px); +introSize: size(400px, 400px); +introSlideShift: 500px; // intro hiding animation +introSlideDuration: 200; +introSlideDelta: 0; // between hide start and show start +introHideFunc: transition(easeInCirc); +introShowFunc: transition(easeOutCirc); +introAlphaHideFunc: transition(easeOutCirc); +introAlphaShowFunc: transition(easeInCirc); +introTextTop: 22px; +introTextSize: size(400px, 93px); +introCallSkip: 15px; +introPwdTextSize: size(400px, 73px); + +btnIntroSep: 12px; +btnIntroNext: flatButton(btnDefNext, btnDefBig) { + textTop: 16px; + overTextTop: 16px; + downTextTop: 17px; + + font: font(17px); + overFont: font(17px); + + width: 300px; +} + +boxShadow: sprite(363px, 50px, 15px, 15px); +boxShadowShift: 2px; + +introCountry: countryInput { + width: 300px; + height: 41px; + top: 33px; + bgColor: #f2f2f2; + ptrSize: size(15px, 8px); + textMrg: margins(16px, 5px, 16px, 15px); + font: inpDefFont; + align: align(left); +} + +introPhoneTop: 8px; +inpIntroCountryCode: flatInput(inpDefGray) { + width: 70px; + height: 41px; + align: align(center); +} +inpIntroPhone: flatInput(inpDefGray) { + textMrg: margins(12px, 5px, 12px, 6px); + width: 225px; + height: 41px; +} +inpIntroCode: flatInput(inpDefGray) { + textMrg: margins(12px, 5px, 12px, 6px); + width: 106px; + height: 41px; + align: align(center); + + phPos: point(0px, 0px); + phAlign: align(center); + phShift: 0px; +} +inpIntroName: flatInput(inpIntroPhone) { + width: 192px; +} +inpIntroPassword: flatInput(inpIntroPhone) { + width: 300px; +} + +introSelectDelta: 30px; +btnSelectSep: #e0e0e0; +btnRedLink: linkButton(btnDefLink) { + color: #d15948; + overColor: #d15948; + downColor: #db6352; +} + +countryRowHeight: 36px; +countryRowNameFont: semiboldFont; +countryRowPadding: margins(22px, 9px, 8px, 0px); +countryRowCodeFont: font(fsize); +countryRowBgOver: overBg; +countryRowCodeFg: #808080; +countryRowCodeFgOver: #7c99b2; +countriesSkip: 12px; +countriesScroll: flatScroll(boxScroll) { + deltat: 9px; + deltab: 3px; +} + +introErrWidth: 450px; +introErrDuration: 200; +introErrFunc: transition(linear); +introErrColor: black; +introErrTop: 15px; +introErrHeight: 40px; +introErrFont: font(16px); + +introErrLabel: flatLabel(labelDefFlat) { + font: introErrFont; + align: align(center); +} + +setWidth: 356px; +setTop: 26px; +setNameLeft: 3px; +setNameTop: 5px; +setNameFont: font(18px); +setStatusTop: 35px; +setStatusLeft: 3px; +setStatusFont: font(14px); +setPhotoSize: 120px; +setHeaderFont: font(17px); +setHeaderColor: black; +setHeaderSkip: 60px; +setHeaderLeft: -1px; +setHeaderTop: 26px; +setLittleSkip: 9px; +setSectionSkip: 25px; +setContactInfoLeft: 150px; +setVersionHeight: 41px; +setVersionLeft: 36px; +setVersionTop: 3px; +setVersionColor: #999; +setBottom: 130px; +setScroll: flatScroll(scrollDef) { + bottomsh: 0px; + topsh: 0px; +} +setClose: iconedButton(btnDefIconed) { + icon: sprite(245px, 221px, 40px, 40px); + iconPos: point(0px, 0px); + downIcon: sprite(245px, 221px, 40px, 40px); + downIconPos: point(0px, 0px); + + opacity: 0.71; + + width: 43px; + height: 43px; +} +setClosePos: point(32px, 32px); +setPhotoImg: sprite(0px, 218px, 120px, 120px); +setOverPhotoImg: sprite(122px, 218px, 120px, 120px); +setPhotoDuration: 150; + +setPadding: 26px; +setBG: #FFF; +setSh: #000; +setTitleFrom: point(20px, 20px); +setTitleFont: font(24px); +setTitleColor: #000; +setNameInput: flatInput(inpDefFlat) { + font: font(fsize); + height: 25px; + width: 170px; + textMrg: margins(3px, 3px, 3px, 3px); +} +setErrBG: #ffa5a5; +setErrColor: #d84d4d; +setErrHeight: 30px; +setErrFont: font(fsize); +setGoodColor: #4ab44a; + +setBackgroundSize: 120px; + +btnSetUpload: flatButton(btnDefNext, btnDefBig) { + width: 206px; + height: 42px; + font: font(18px); + overFont: font(18px); + + textTop: 9px; + overTextTop: 9px; + downTextTop: 10px; +} + +btnEditSave: flatButton(btnSetUpload) { + width: 115px; +} +btnEditCancel: flatButton(btnDefFlat, btnDefBig) { + color: #666d78; + overColor: #666d78; + downColor: #50565e; + + bgColor: rgba(0, 0, 0, 63); + overBgColor: rgba(0, 0, 0, 47); + downBgColor: rgba(0, 0, 0, 95); + + width: 115px; + height: 40px; + + textTop: 9px; + overTextTop: 9px; + downTextTop: 10px; + + font: font(18px); + overFont: font(18px); +} + +btnLogout: flatButton(btnDefFlat, btnDefBig) { + color: white; + overColor: white; + downColor: white; + + bgColor: #db6352; + overBgColor: #d15948; + downBgColor: #c74d3b; + + width: 148px; + height: 42px; + + textTop: 8px; + overTextTop: 8px; + downTextTop: 9px; + + font: font(18px); + overFont: font(18px); +} + +//// dialogs +dlgFilterPadding: 10px; +dlgPhotoSize: 46px; +dlgPaddingHor: 10px; +dlgPaddingVer: 8px; +dlgHeight: 62px; +dlgPhotoPadding: 12px; + +dlgImportantHeight: 37px; + +noContactsHeight: 100px; +noContactsFont: font(fsize); +noContactsColor: #777; + +dlgSep: 8px; + +dlgMinWidth: 260px; +dlgRichMinWidth: 150px; +dlgMaxWidth: 540px; +dlgFilter: flatInput(inpDefGray) { + font: font(fsize); + height: 34px; + bgColor: #f2f2f2; + phColor: #949494; + phFocusColor: #a4a4a4; + textMrg: margins(34px, 2px, 34px, 4px); + imgRect: sprite(227px, 21px, 24px, 24px); + imgPos: point(6px, 5px); + width: 240px; + + borderWidth: 2px; + borderColor: #f2f2f2; + borderActive: #80cff9; + borderError: #ed8080; +} +dlgScroll: flatScroll(scrollDef) { + topsh: 0px; + bottomsh: 0px; +} +dlgFont: font(fsize); + +dlgDblCheckImg: sprite(302px, 23px, 17px, 11px); +dlgCheckImg: sprite(320px, 23px, 17px, 11px); +dlgActiveDblCheckImg: sprite(302px, 36px, 17px, 11px); +dlgActiveCheckImg: sprite(320px, 36px, 17px, 11px); +dlgSendImg: sprite(122px, 25px, 17px, 11px); +dlgActiveSendImg: sprite(142px, 25px, 17px, 11px); + +dlgChatImgPos: point(1px, 4px); +dlgChatImg: sprite(104px, 26px, 16px, 11px); +dlgActiveChatImg: sprite(104px, 37px, 16px, 11px); +dlgChannelImgPos: point(3px, 4px); +dlgChannelImg: sprite(105px, 1px, 12px, 11px); +dlgActiveChannelImg: sprite(105px, 14px, 12px, 11px); +dlgImgSkip: 22px; + +dlgCheckLeft: 5px; +dlgCheckTop: 4px; +dlgCheckSkip: 3px; + +dlgHistFont: font(fsize); +dlgNameColor: #000; +dlgNameTop: 2px; +dlgSystemColor: #4981af; +dlgTextColor: #888; + +dlgDateFont: font(13px); +dlgDateColor: #a8a8a8; +dlgDateSkip: 5px; + +dlgUnreadColor: #FFF; +dlgUnreadBG: #6fc766; +dlgUnreadMutedBG: #bbb; +dlgUnreadFont: font(12px bold); +dlgUnreadHeight: 19px; +dlgUnreadTop: 1px; +dlgUnreadPaddingHor: 5px; +dlgUnreadRadius: 2px; +dlgBG: #FFF; +dlgHoverBG: #f5f5f5; + +dlgActiveBG: #6a91b1; +dlgActiveUnreadColor: #5b94bf; +dlgActiveUnreadBG: white; +dlgActiveColor: white; +dlgActiveDateColor: #d3e2ee; +dlgActiveUnreadMutedBG: dlgActiveDateColor; + +topBarHeight: 54px; +topBarBG: white; +topBarDuration: 200; +topBarForwardPadding: margins(17px, 8px, 39px, 8px); +topBarForwardAlpha: 0.6; +topBarForwardImg: sprite(31px, 104px, 9px, 16px); +topBarBackwardImg: sprite(22px, 104px, 9px, 16px); +topBarBackPadding: margins(15px, 7px, 9px, 7px); +topBarBackAlpha: 0.8; +topBarBackImg: sprite(65px, 112px, 9px, 16px); +topBarBackColor: #005faf; +topBarBackFont: font(16px); +topBarSearch: iconedButton(btnDefIconed) { + bgColor: transparent; + overBgColor: transparent; + + icon: sprite(84px, 374px, 18px, 18px); + iconPos: point(13px, 18px); + downIcon: sprite(84px, 374px, 18px, 18px); + downIconPos: point(13px, 18px); + + opacity: 0.22; + overOpacity: 0.36; + + width: 44px; + height: topBarHeight; +} +topBarMinPadding: 5px; +topBarButton: flatButton(btnDefFlat) { + color: btnYesColor; + overColor: btnYesHover; + downColor: btnYesHover; + + bgColor: white; + overBgColor: white; + downBgColor: white; + + width: -40px; + height: 54px; + + textTop: 19px; + overTextTop: 19px; + downTextTop: 20px; + + font: font(fsize); + overFont: font(fsize underline); +} +topBarActionButton: flatButton(btnDefNext, btnDefBig) { + textTop: 8px; + overTextTop: 8px; + downTextTop: 9px; + + font: font(fsize); + overFont: font(fsize); + width: 101px; + height: 34px; +} +topBarActionSkip: 13px; + +historyToEnd: iconedButton(btnDefIconed) { + bgColor: transparent; + overBgColor: transparent; + + icon: sprite(252px, 41px, 44px, 44px); + iconPos: point(0px, 0px); + downIcon: sprite(252px, 41px, 44px, 44px); + downIconPos: point(0px, 0px); + + width: 44px; + height: 44px; +} +historyToEndSkip: 10px; + +activeFadeInDuration: 500; +activeFadeOutDuration: 3000; + +msgRadius: 3px; + +msgMaxWidth: 430px; +msgFont: font(fsize); +msgNameFont: semiboldFont; +msgServiceFont: semiboldFont; +msgServiceNameFont: semiboldFont; +msgServicePhotoWidth: 100px; +msgDateFont: font(13px); +msgMinWidth: 190px; +msgPhotoSize: 33px; +msgPhotoSkip: 40px; +msgPadding: margins(13px, 7px, 13px, 8px); +msgMargin: margins(13px, 10px, 53px, 2px); +msgMarginTopAttached: 3px; +msgLnkPadding: 2px; // for media open / save links +msgBorder: #f0f0f0; +msgInBg: #fff; +msgInBgSelected: #c2dcf2; // #358cd4 with 30% opacity +msgOutBg: #effdde; +msgOutBgSelected: #b7dbdb; +msgSelectOverlay: #358cd44c; +msgStickerOverlay: #358cd47f; +msgInServiceFg: #0e7acd; +msgInServiceFgSelected: #0e7acd; +msgOutServiceFg: #3a8e26; +msgOutServiceFgSelected: #367570; +msgShadow: 2px; +msgInShadow: #748ea229; +msgInShadowSelected: #548dbb29; +msgOutShadow: #3ac34740; +msgOutShadowSelected: #37a78e40; +msgInDateFg: #a0acb6; +msgInDateFgSelected: #6a9cc5; +msgOutDateFg: #6cc264; +msgOutDateFgSelected: #50a79c; + +msgReplyPadding: margins(6px, 6px, 11px, 6px); +msgReplyBarPos: point(1px, 0px); +msgReplyBarSize: size(2px, 36px); +msgReplyBarSkip: 10px; +msgOutReplyBarColor: #5dc452; +msgInReplyBarColor: #2fa9e2; +msgOutReplyBarSelColor: #4da79f; +msgInReplyBarSelColor: #2fa9e2; + +msgBotKbDuration: 200; +msgBotKbFont: semiboldFont; +msgBotKbOverOpacity: 0.1; +msgBotKbIconPadding: 2px; +msgBotKbUrlIcon: sprite(188px, 338px, 10px, 10px); +//msgBotKbRequestPhoneIcon: msgBotKbUrlIcon; +//msgBotKbRequestLocationIcon: msgBotKbUrlIcon; +msgBotKbSwitchPmIcon: sprite(188px, 348px, 10px, 10px); +msgBotKbButton: botKeyboardButton { + margin: 5px; + padding: 10px; + height: 36px; + textTop: 8px; + downTextTop: 9px; +} + +msgServiceBg: #89a0b47f; +msgServiceSelectBg: #bbc8d4a2; +msgServiceColor: #FFF; +msgServicePadding: margins(12px, 3px, 12px, 4px); +msgServiceMargin: margins(10px, 10px, 80px, 2px); + +msgColor: #000; +msgDateColor: #000; +msgLinkColor: #2a6dc2; +msgPressedLinkColor: #004bad; +msgSkip: 40px; +msgPtr: 8px; +msgBG: ":/gui/art/bg.jpg"; +msgBG0: ":/gui/art/bg0.png"; + +msgCheckPos: point(3px, 1px); +msgSendingImg: sprite(260px, 20px, 20px, 20px); +msgCheckImg: sprite(320px, 0px, 20px, 20px); +msgDblCheckImg: sprite(300px, 0px, 20px, 20px); +msgSelectCheckImg: sprite(162px, 0px, 20px, 20px); +msgSelectDblCheckImg: sprite(142px, 0px, 20px, 20px); +msgViewsPos: point(0px, -4px); +msgViewsImg: sprite(104px, 48px, 16px, 11px); +msgSelectViewsImg: sprite(104px, 70px, 16px, 11px); +msgOutViewsImg: sprite(104px, 81px, 16px, 11px); +msgSelectOutViewsImg: sprite(104px, 92px, 16px, 11px); +msgSendingViewsImg: sprite(104px, 103px, 16px, 11px); +msgSendingOutViewsImg: sprite(104px, 125px, 16px, 11px); +msgInvSendingImg: sprite(320px, 65px, 20px, 20px); +msgInvCheckImg: sprite(280px, 20px, 20px, 20px); +msgInvDblCheckImg: sprite(300px, 65px, 20px, 20px); +msgInvViewsImg: sprite(104px, 59px, 16px, 11px); +msgInvSendingViewsImg: sprite(104px, 114px, 16px, 11px); + +msgDateSpace: 19px; +msgDateCheckSpace: 4px; +msgDateViewsSpace: 11px; +msgDateDelta: point(2px, 5px); + +msgDateImgDelta: 4px; +msgDateImgColor: #fff; +msgDateImgBg: #00000054; +msgDateImgBgOver: #00000074; +msgDateImgBgSelected: #1c4a7187; +msgDateImgPadding: point(8px, 2px); +msgDateImgCheckSpace: 4px; + +msgDogImg: sprite(216px, 92px, 126px, 126px); +historyPadding: 10px; + +collapseButton: flatButton(btnDefFlat) { + font: msgServiceFont; + overFont: msgServiceFont; + width: -24px; + bgColor: transparent; + downBgColor: transparent; + overBgColor: transparent; + color: white; + overColor: white; + downColor: white; + textTop: 3px; + overTextTop: 3px; + downTextTop: 3px; + height: 25px; +} +collapseHideDuration: 200; +collapseShowDuration: 200; + +defaultTextStyle: textStyle { + linkFlags: font(fsize); + linkFlagsOver: font(fsize underline); + linkFg: btnYesColor; + linkFgDown: btnYesHover; + monoFg: #777; + selectBg: msgInBgSelected; + selectOverlay: msgSelectOverlay; + lineHeight: 0px; +} +boxTextStyle: textStyle(defaultTextStyle) { + lineHeight: 22px; +} +serviceTextStyle: textStyle(defaultTextStyle) { + linkFlags: msgServiceFont; + linkFlagsOver: font(fsize semibold underline); + linkFg: msgServiceColor; + linkFgDown: msgServiceColor; + monoFg: msgServiceColor; + selectBg: msgServiceSelectBg; + selectOverlay: msgServiceSelectBg; +} +inTextStyle: textStyle(defaultTextStyle) { + monoFg: #4e7391; + selectBg: msgInBgSelected; + selectOverlay: msgSelectOverlay; +} +outTextStyle: textStyle(defaultTextStyle) { + monoFg: #469165; + selectBg: msgOutBgSelected; + selectOverlay: msgSelectOverlay; +} +inFwdTextStyle: textStyle(defaultTextStyle) { + linkFlags: semiboldFont; + linkFlagsOver: semiboldFont; + linkFg: msgInServiceFg; + linkFgDown: msgInServiceFg; +} +outFwdTextStyle: textStyle(inFwdTextStyle) { + linkFg: msgOutServiceFg; + linkFgDown: msgOutServiceFg; +} +inFwdTextStyleSelected: textStyle(inFwdTextStyle) { + linkFg: msgInServiceFgSelected; + linkFgDown: msgInServiceFgSelected; +} +outFwdTextStyleSelected: textStyle(inFwdTextStyle) { + linkFg: msgOutServiceFgSelected; + linkFgDown: msgOutServiceFgSelected; +} +medviewSaveAsTextStyle: textStyle(defaultTextStyle) { + linkFg: #91d9ff; + linkFgDown: #91d9ff; +} + +dlgTextStyle: textStyle(defaultTextStyle) { + linkFg: dlgSystemColor; + linkFgDown: dlgSystemColor; + linkFlagsOver: font(fsize); +} +dlgActiveTextStyle: textStyle(defaultTextStyle) { + linkFg: dlgActiveColor; + linkFgDown: dlgActiveColor; + linkFlagsOver: font(fsize); +} +introLabelTextStyle: textStyle(defaultTextStyle) { + lineHeight: 30px; +} +introErrLabelTextStyle: textStyle(defaultTextStyle) { + lineHeight: 27px; +} + +mediaPadding: margins(0px, 0px, 0px, 0px);//1px, 1px, 1px, 1px);//2px, 2px, 2px, 2px); +mediaCaptionSkip: 5px; +mediaHeaderSkip: 5px; +mediaThumbSize: 48px; +mediaNameTop: 3px; +mediaDetailsShift: 3px; +mediaInFg: msgInDateFg; +mediaInFgSelected: msgInDateFgSelected; +mediaOutFg: msgOutDateFg; +mediaOutFgSelected: msgOutDateFgSelected; +mediaInUnreadFg: #999; +mediaInUnreadFgSelected: #7b95aa; +mediaOutUnreadFg: #6aad60; +mediaOutUnreadFgSelected: #5aa382; +mediaUnreadSize: 7px; +mediaUnreadSkip: 5px; +mediaUnreadTop: 6px; + +mediaInStyle: textStyle(defaultTextStyle) { + linkFg: mediaInFg; + linkFgDown: mediaInFg; +} +mediaInStyleSelected: textStyle(defaultTextStyle) { + linkFg: mediaInFgSelected; + linkFgDown: mediaInFgSelected; +} + +msgFileRedColor: #e47272; +msgFileYellowColor: #efc274; +msgFileGreenColor: #61b96e; +msgFileBlueColor: #72b1df; +msgFileRedDark: #cd5b5e; +msgFileYellowDark: #e6a561; +msgFileGreenDark: #4da859; +msgFileBlueDark: #5c9ece; +msgFileRedOver: #c35154; +msgFileYellowOver: #dc9c5a; +msgFileGreenOver: #44a050; +msgFileBlueOver: #5294c4; +msgFileRedSelected: #9f6a82; +msgFileYellowSelected: #b19d84; +msgFileGreenSelected: #46a07e; +msgFileBlueSelected: #5099d0; + +msgFileMenuSize: size(36px, 36px); +msgFileSize: 44px; +msgFilePadding: margins(14px, 12px, 11px, 12px); +msgFileThumbSize: 72px; +msgFileThumbPadding: margins(10px, 10px, 14px, 10px); +msgFileThumbNameTop: 12px; +msgFileThumbStatusTop: 32px; +msgFileThumbLinkTop: 60px; +msgFileThumbLinkInFg: #3da5e0; +msgFileThumbLinkInFgSelected: #3da5e0; +msgFileThumbLinkOutFg: #5eba5b; +msgFileThumbLinkOutFgSelected: #31a298; +msgFileNameTop: 16px; +msgFileStatusTop: 37px; +msgFileMinWidth: 294px; +msgFileInBg: #59b6eb; +msgFileInBgOver: #4eade3; +msgFileInBgSelected: #51a3d3; +msgFileOutBg: #78c67f; +msgFileOutBgOver: #6bc272; +msgFileOutBgSelected: #5fb389; + +msgFileOutImage: sprite(0px, 146px, 18px, 18px); +msgFileOutImageSelected: sprite(18px, 146px, 18px, 18px); +msgFileInImage: sprite(0px, 164px, 18px, 18px); +msgFileInImageSelected: sprite(18px, 164px, 18px, 18px); +msgFileOutFile: sprite(36px, 146px, 18px, 18px); +msgFileOutFileSelected: sprite(54px, 146px, 18px, 18px); +msgFileInFile: sprite(36px, 164px, 18px, 18px); +msgFileInFileSelected: sprite(54px, 164px, 18px, 18px); +msgFileOutDownload: sprite(72px, 142px, 14px, 20px); +msgFileOutDownloadSelected: sprite(86px, 142px, 14px, 20px); +msgFileInDownload: sprite(72px, 162px, 14px, 20px); +msgFileInDownloadSelected: sprite(86px, 162px, 14px, 20px); +msgFileOutCancel: sprite(100px, 147px, 16px, 16px); +msgFileOutCancelSelected: sprite(116px, 147px, 16px, 16px); +msgFileInCancel: sprite(100px, 165px, 16px, 16px); +msgFileInCancelSelected: sprite(116px, 165px, 16px, 16px); +msgFileOutPause: sprite(132px, 147px, 14px, 16px); +msgFileOutPauseSelected: sprite(146px, 147px, 14px, 16px); +msgFileInPause: sprite(132px, 165px, 14px, 16px); +msgFileInPauseSelected: sprite(146px, 165px, 14px, 16px); +msgFileOutPlay: sprite(160px, 146px, 20px, 18px); +msgFileOutPlaySelected: sprite(180px, 146px, 20px, 18px); +msgFileInPlay: sprite(160px, 164px, 20px, 18px); +msgFileInPlaySelected: sprite(180px, 164px, 20px, 18px); + +msgFileRed: sprite(0px, 425px, 20px, 20px); +msgFileYellow: sprite(20px, 425px, 20px, 20px); +msgFileGreen: sprite(40px, 425px, 20px, 20px); +msgFileBlue: sprite(60px, 425px, 20px, 20px); + +msgFileOverDuration: 200; +msgFileRadialLine: 3px; + +msgVideoSize: size(320px, 240px); + +msgWaveformBar: 2px; +msgWaveformSkip: 1px; +msgWaveformMin: 2px; +msgWaveformMax: 20px; +msgWaveformInActive: #59b6eb; +msgWaveformInActiveSelected: #51a3d3; +msgWaveformInInactive: #d4dee6; +msgWaveformInInactiveSelected: #9cc1e1; +msgWaveformOutActive: #78c67f; +msgWaveformOutActiveSelected: #6badad; +msgWaveformOutInactive: #b3e2b4; +msgWaveformOutInactiveSelected: #91c3c3; + +sendPadding: 9px; +btnSend: flatButton(btnDefFlat) { + color: btnYesColor; + overColor: btnYesHover; + downColor: btnYesHover; + + bgColor: white; + overBgColor: btnWhiteHover; + downBgColor: btnWhiteHover; + + width: -32px; + height: 46px; + + textTop: 12px; + overTextTop: 12px; + downTextTop: 13px; + + font: font(16px); + overFont: font(16px); +} +btnUnblock: flatButton(btnSend) { + color: #d15948; + overColor: #d15948; + downColor: #db6352; +} + +btnAttachDocument: iconedButton(btnDefIconed) { + icon: sprite(218px, 68px, 24px, 24px); + iconPos: point(11px, 11px); + downIcon: sprite(218px, 68px, 24px, 24px); + downIconPos: point(11px, 12px); + + overBgColor: btnWhiteHover; + width: 46px; + height: 46px; +} +btnAttachPhoto: iconedButton(btnAttachDocument) { + icon: sprite(118px, 0px, 24px, 24px); + downIcon: sprite(118px, 0px, 24px, 24px); +} +btnAttachEmoji: iconedButton(btnAttachDocument) { + overBgColor: white; + icon: sprite(374px, 344px, 21px, 22px); + iconPos: point(6px, 12px); + downIcon: sprite(374px, 344px, 21px, 22px); + downIconPos: point(6px, 12px); + + width: 33px; +} +emojiCircle: size(19px, 19px); +emojiCirclePeriod: 1500; +emojiCircleDuration: 500; +emojiCircleTop: 13px; +emojiCircleLine: 2px; +emojiCircleFg: #b9b9b9; +emojiCirclePart: 3.5; +btnBotKbShow: iconedButton(btnAttachEmoji) { + icon: sprite(375px, 74px, 21px, 21px); + iconPos: point(6px, 12px); + downIcon: sprite(375px, 74px, 21px, 21px); + downIconPos: point(6px, 12px); +} +btnBotCmdStart: iconedButton(btnAttachEmoji) { + icon: sprite(354px, 74px, 21px, 21px); + iconPos: point(6px, 12px); + downIcon: sprite(354px, 74px, 21px, 21px); + downIconPos: point(6px, 12px); +} +btnBotKbHide: iconedButton(btnAttachEmoji) { + icon: sprite(373px, 95px, 23px, 14px); + iconPos: point(5px, 17px); + downIcon: sprite(373px, 95px, 23px, 14px); + downIconPos: point(5px, 17px); +} +broadcastToggle: flatCheckbox { + textColor: black; + bgColor: white; + disColor: black; + + width: 34px; + height: 46px; + duration: 200; + bgFunc: transition(easeOutCirc); + cursor: cursor(pointer); + + font: normalFont; + + imageRect: sprite(18px, 125px, 22px, 21px); + chkImageRect: sprite(40px, 125px, 22px, 21px); + overImageRect: sprite(40px, 104px, 22px, 21px); + chkOverImageRect: sprite(40px, 125px, 22px, 21px); + disImageRect: sprite(18px, 125px, 22px, 21px); + chkDisImageRect: sprite(18px, 125px, 22px, 21px); + + imagePos: point(6px, 12px); +} +silentToggle: flatCheckbox(broadcastToggle) { + width: 33px; + + imageRect: sprite(354px, 242px, 21px, 21px); + chkImageRect: sprite(354px, 221px, 21px, 21px); + overImageRect: sprite(375px, 242px, 21px, 21px); + chkOverImageRect: sprite(375px, 221px, 21px, 21px); + disImageRect: sprite(354px, 242px, 21px, 21px); + chkDisImageRect: sprite(354px, 221px, 21px, 21px); +} +btnRecordAudio: sprite(379px, 390px, 16px, 24px); +btnRecordAudioActive: sprite(379px, 366px, 16px, 24px); +recordSignalColor: #f17077; +recordSignalMin: 5px; +recordSignalMax: 12px; +recordCancel: #aaa; +recordCancelActive: #ec6466; +recordFont: font(13px); +recordTextTop: 14px; + +replySkip: 51px; +replyColor: #377aae; +replyHeight: 49px; +replyTop: 8px; +replyBottom: 6px; +replyIconPos: point(13px, 13px); +replyIcon: sprite(343px, 197px, 24px, 24px); +editIcon: sprite(371px, 286px, 24px, 24px); +replyCancel: iconedButton(btnDefIconed) { + icon: sprite(165px, 24px, 14px, 14px); + iconPos: point(17px, 17px); + downIcon: sprite(165px, 24px, 14px, 14px); + downIconPos: point(17px, 18px); + bgColor: white; + overBgColor: white; + width: 49px; + height: 49px; +} +inlineBotCancel: iconedButton(replyCancel) { + height: 46px; + iconPos: point(-1px, 16px); // < 0 means draw in the center of the button + downIconPos: point(-1px, 17px); +} +forwardIcon: sprite(368px, 197px, 24px, 24px); + +historyScroll: flatScroll(scrollDef) { + barColor: #89a0b47a; + bgColor: #89a0b44c; + barOverColor: #89a0b4bc; + bgOverColor: #89a0b46b; + + round: 0px; + + width: 12px; + deltax: 3px; + deltat: 3px; + deltab: 3px; + + topsh: 0px; + bottomsh: -1px; +} +textRectMargins: margins(-2px, -1px, -2px, -1px); +taMsgField: flatTextarea(taDefFlat) { + font: msgFont; +} +maxFieldHeight: 220px; +// historyMinHeight: 56px; + +reportSpamHide: flatButton(topBarButton) { + height: 46px; + + textTop: 15px; + overTextTop: 15px; + downTextTop: 16px; + + bgColor: transparent; + overBgColor: transparent; + downBgColor: transparent; +} +reportSpamButton: flatButton(reportSpamHide) { + textTop: 6px; + overTextTop: 6px; + downTextTop: 7px; + + width: -50px; + height: 30px; + + bgColor: #888; + overBgColor: #7b7b7b; + downBgColor: #7b7b7b; +} +reportSpamSeparator: 30px; +reportSpamBg: #fffffff0; + +newMsgSound: ":/gui/art/newmsg.wav"; + +unreadBarHeight: 32px; +unreadBarMargin: 8px; +unreadBarFont: semiboldFont; +unreadBarBG: #fcfbfa; +unreadBarBorder: shadowColor; +unreadBarColor: #538bb4; + +searchedBarHeight: unreadBarHeight; +searchedBarFont: unreadBarFont; +searchedBarBG: #ebeef1; +searchedBarBorder: unreadBarBorder; +searchedBarColor: #a2aeb7; + +layerSlideDuration: 200; +layerHideDuration: 200; +layerPadding: margins(10px, 10px, 10px, 10px); + +contactPadding: margins(49px, 22px, 0px, 6px); +contactSkip: 13px; +contactPhoneSkip: 30px; +contactUserIcon: sprite(120px, 90px, 18px, 18px); +contactPhoneIcon: sprite(138px, 90px, 18px, 18px); +contactIconTop: 10px; + +contactsPhotoSize: 42px; +contactsPadding: margins(16px, 7px, 16px, 7px); +contactsNameTop: 2px; +contactsNameFont: semiboldFont; +contactsStatusTop: 23px; +contactsStatusFont: font(fsize); +contactsStatusFg: #999999; +contactsStatusFgOver: #7c99b2; +contactsStatusFgOnline: #3b8dcc; +contactsBgOver: overBg; +contactsBgActive: #6f9cbd; +contactsCheckPosition: point(8px, 16px); +contactsCheckIcon: sprite(187px, 61px, 18px, 14px); +contactsCheckActiveIcon: sprite(187px, 75px, 18px, 14px); +contactsNewItemHeight: 53px; +contactsNewItemIcon: sprite(307px, 248px, 22px, 16px); +contactsNewItemIconPosition: point(29px, 19px); +contactsNewItemTop: 18px; +contactsNewItemFg: #4b82af; +contactsAboutBg: #f7f7f7; +contactsAboutShadow: #0000001F; +contactsAdminCheckbox: Checkbox(defaultCheckbox) { + font: semiboldFont; + textBg: #f7f7f7; + textPosition: point(34px, 1px); +} +contactsAboutHeight: 42px; +contactsAboutTop: 9px; +contactsScroll: flatScroll(boxScroll) { + deltab: 0px; +} + +btnNewGroup: iconedButton(btnDefIconed) { + icon: sprite(189px, 118px, 18px, 17px); + iconPos: point(8px, 8px); + downIcon: sprite(189px, 118px, 18px, 17px); + downIconPos: point(8px, 9px); + + bgColor: transparent; + overBgColor: transparent; + width: 36px; + height: 36px; +} +btnAddContact: iconedButton(btnNewGroup) { + icon: sprite(188px, 93px, 18px, 18px); + downIcon: sprite(188px, 93px, 18px, 18px); +} +btnCancelSearch: iconedButton(btnNewGroup) { + icon: sprite(188px, 43px, 18px, 18px); + downIcon: sprite(188px, 43px, 18px, 18px); +} + +notifyBG: white; +notifyBorder: #f1f1f1; +notifyBorderWidth: 1px; +notifySlowHide: 4000; +notifyPhotoSize: 62px; +notifyMacPhotoSize: 64px; +notifyPhotoPos: point(9px, 9px); +notifyClosePos: point(1px, 2px); +notifyClose: iconedButton(btnDefIconed) { + icon: sprite(167px, 130px, 10px, 10px); + iconPos: point(10px, 10px); + downIcon: sprite(167px, 130px, 10px, 10px); + downIconPos: point(10px, 11px); + + width: 30px; + height: 30px; +} +notifyItemTop: 12px; +notifyTextLeft: 12px; +notifyTextTop: 7px; +notifySlowHideFunc: transition(easeInCirc); +notifyWaitShortHide: 0; +notifyWaitLongHide: 20000; +notifyFastAnim: 150; +notifyWidth: 316px; +notifyHeight: 80px; +notifyDeltaX: 6px; +notifyDeltaY: 7px; + +boxPhotoPadding: margins(28px, 28px, 28px, 18px); +boxPhotoCompressedPadding: margins(0px, 2px, 0px, 22px); +boxPhotoTextFg: #808080; +cropPointSize: 10px; +cropSkip: 13px; +cropMinSize: 20px; +confirmCaptionArea: InputArea(defaultInputArea) { + textMargins: margins(1px, 6px, 1px, 4px); + heightMax: 56px; +} +confirmBg: #f2f2f2; +confirmMaxHeight: 245px; +confirmCompressedSkip: 10px; + +profileMaxWidth: 410px; +profilePadding: margins(28px, 30px, 28px, 0px); +profilePhotoSize: 120px; +profileNameLeft: 21px; +profileNameTop: -1px; +profileNameFont: font(20px); +profileStatusLeft: 22px; +profileStatusTop: 31px; +profileStatusFont: font(fsize); +profilePhoneLeft: 22px; +profilePhoneTop: 62px; +profilePhoneFont: font(16px); +profileButtonTop: 18px; +profileButtonSkip: 10px; +profileHeaderFont: font(20px); +profileHeaderColor: black; +profileHeaderSkip: 59px; +profileHeaderLeft: -1px; +profileHeaderTop: 22px; + +profileListPhotoSize: 46px; +profileListPadding: size(12px, 6px); +profileListNameTop: 8px; +profileListStatusBottom: 6px; +profileHoverBG: #f5f5f5; +profileActiveBG: #6294b9; +profileSubFont: font(fsize); +profileListNameFont: semiboldFont; +profileListNameColor: #000; +profileOnlineColor: titleTypingColor; +profileOfflineColor: titleStatusColor; +btnShareContact: flatButton(btnDefNext, btnDefBig) { + width: 145px; + height: 42px; + + textTop: 9px; + overTextTop: 9px; + downTextTop: 10px; + + font: font(17px); + overFont: font(17px); +} +btnMigrateToMega: flatButton(btnShareContact) { + width: -40px; +} +profileMinBtnPadding: 10px; + +membersPadding: margins(0px, 10px, 0px, 10px); + +forwardMargins: margins(30px, 10px, 30px, 10px); +forwardFont: font(16px); +forwardBg: rgba(0, 0, 0, 76); +btnProfileCancel: flatButton(btnDefFlat, btnDefBig) { + color: #666d78; + overColor: #666d78; + downColor: #50565e; + + bgColor: rgba(0, 0, 0, 63); + overBgColor: rgba(0, 0, 0, 47); + downBgColor: rgba(0, 0, 0, 95); + + width: 145px; + height: 40px; + + textTop: 9px; + overTextTop: 9px; + downTextTop: 10px; + + font: font(18px); + overFont: font(18px); +} + +btnDeleteContact: flatButton(btnDefFlat, btnDefBig) { + color: #fff; + overColor: #fff; + downColor: #ffcbc1; + + bgColor: #ee4928bf; + overBgColor: #ee4928; + downBgColor: #d14024; + + width: 300px; + height: 40px; + + textTop: 9px; + overTextTop: 9px; + downTextTop: 10px; + + font: font(18px); + overFont: font(18px); +} + +profileNameInput: flatInput(setNameInput) { + width: 230px; +} + +participantInnerAdd: flatButton(btnDefNext) { + width: 145px; + height: 40px; + font: font(18px); + overFont: font(18px); + textTop: 9px; + overTextTop: 9px; + downTextTop: 10px; +} +participantInnerCancel: flatButton(participantInnerAdd, btnDefBack) { +} +participantCancel: flatButton(participantInnerAdd, btnDefBack) { + width: 300px; +} +participantFilter: flatInput(inpDefFlat) { + width: 364px; + height: 52px; + font: font(16px); + textMrg: margins(39px, 11px, 10px, 10px); + imgRect: sprite(227px, 21px, 24px, 24px); + imgPos: point(10px, 15px); +} +participantDelta: 12px; + +contactsFilter: flatInput(dlgFilter) { + width: 340px; + height: 38px; + textMrg: margins(34px, 3px, 5px, 4px); + imgPos: point(6px, 7px); +} +inpCountry: flatInput(contactsFilter) { +} + +newGroupLimitFg: #a4a4a4; +newGroupAboutFg: #808080; +newGroupPadding: margins(4px, 6px, 4px, 3px); +newGroupSkip: 17px; +newGroupInfoPadding: margins(0px, -4px, 0px, 1px); + +newGroupLinkPadding: margins(4px, 27px, 4px, 12px); +newGroupLinkTop: 3px; +newGroupLinkFont: font(16px); + +newGroupPhotoSize: 76px; +newGroupPhotoBg: #4eb5f0; +newGroupPhotoBgOver: #3fa9e7; +newGroupPhotoIcon: sprite(74px, 104px, 30px, 27px); +newGroupPhotoIconPosition: point(23px, 25px); + +newGroupNamePosition: point(27px, 20px); + +newGroupDescriptionPadding: margins(0px, 23px, 0px, 14px); +newGroupDescription: InputArea(defaultInputArea) { + textMargins: margins(1px, 6px, 1px, 4px); + heightMax: 115px; +} + +newGroupPublicLinkPadding: margins(0px, 20px, 0px, 5px); +newGroupLinkFadeDuration: 5000; + +connectionHostInputField: InputField(defaultInputField) { + width: 160px; +} +connectionPortInputField: InputField(defaultInputField) { + width: 55px; +} +connectionUserInputField: InputField(defaultInputField) { + width: 95px; +} +connectionPasswordInputField: InputField(defaultInputField) { + width: 120px; +} +connectionIPv6Skip: 11px; + +contactsAdd: flatButton(topBarButton) { + width: -40px; + height: 52px; + + textTop: 18px; + overTextTop: 18px; + downTextTop: 19px; +} + +aboutIcon: sprite(0px, 0px, 104px, 104px); +aboutWidth: 390px; +aboutVersionTop: -3px; +aboutVersionLink: linkButton(btnDefLink) { + color: #999; + overColor: #999; + downColor: #999; +} +aboutTextTop: 34px; +aboutSkip: 14px; +aboutLabel: flatLabel(labelDefFlat) { + font: normalFont; + width: 330px; + align: align(topleft); +} +aboutTextStyle: textStyle(defaultTextStyle) { + lineHeight: 22px; +} + +emojiTextFont: font(15px); +emojiReplaceWidth: 52px; +emojiReplaceHeight: 56px; +emojiReplaceInnerHeight: 42px; +emojiReplacePadding: 14px; + +connectingBG: #fffe; +connectingColor: #777; +connectingPadding: margins(5px, 5px, 5px, 5px); + +dropdownDef: dropdown { + border: 1px; + borderColor: #ebebeb; + + padding: margins(10px, 10px, 10px, 10px); + shadow: sprite(241px, 46px, 6px, 6px); + shadowShift: 1px; + + duration: 150; + width: 0px; +} + +dropdownAttachDocument: iconedButton(btnAttachDocument) { + iconPos: point(14px, 13px); + downIconPos: point(14px, 14px); + + width: 172px; + height: 49px; + + color: black; + + font: font(16px); + + textPos: point(50px, 13px); + downTextPos: point(50px, 14px); +} +dropdownAttachPhoto: iconedButton(dropdownAttachDocument) { + icon: sprite(118px, 0px, 24px, 24px); + downIcon: sprite(118px, 0px, 24px, 24px); +} +dropdownMediaPhotos: iconedButton(dropdownAttachPhoto) { + width: 200px; +} +dropdownMediaVideos: iconedButton(dropdownMediaPhotos) { + icon: sprite(92px, 348px, 24px, 24px); + downIcon: sprite(92px, 348px, 24px, 24px); +} +dropdownMediaSongs: iconedButton(dropdownMediaPhotos) { + icon: sprite(60px, 374px, 24px, 26px); + downIcon: sprite(60px, 374px, 24px, 26px); + iconPos: point(12px, 12px); + downIconPos: point(12px, 13px); +} +dropdownMediaDocuments: iconedButton(dropdownAttachDocument) { + width: 200px; +} +dropdownMediaAudios: iconedButton(dropdownMediaDocuments) { + icon: sprite(62px, 348px, 24px, 24px); + downIcon: sprite(62px, 348px, 24px, 24px); +} +dropdownMediaLinks: iconedButton(dropdownMediaDocuments) { + icon: sprite(372px, 414px, 24px, 24px); + downIcon: sprite(372px, 414px, 24px, 24px); +} + +dragFont: font(28px semibold); +dragSubfont: font(20px semibold); +dragColor: #777; +dragDropColor: btnYesColor; + +dragMargin: margins(0px, 10px, 0px, 10px); +dragPadding: margins(20px, 10px, 20px, 10px); + +dragHeight: 72px; + +dpiSlider: slider { + color: #ccc; + thikness: 2px; + + width: 260px; + bar: sprite(0px, 104px, 9px, 22px); +} +dpiActive: black; +dpiInactive: #999; +dpiFont1: linkFont; +dpiFont2: linkFont; +dpiFont3: linkFont; +dpiFont4: linkFont; + +stickersMaxHeight: 440px; +stickersPadding: margins(19px, 17px, 19px, 17px); +stickersSize: size(64px, 64px); +stickersScroll: flatScroll(boxScroll) { + deltax: 7px; + deltat: 23px; + deltab: 9px; +} +stickersReorderPadding: margins(0px, 12px, 0px, 12px); +stickersReorderFg: #777; +stickersRowDisabledOpacity: 0.4; +stickersRowDuration: 200; + +emojiScroll: flatScroll(solidScroll) { + deltat: 48px; +} +emojiRecentOver: sprite(0px, 196px, 21px, 22px); +emojiRecentActive: sprite(245px, 264px, 21px, 22px); +emojiPeopleOver: sprite(21px, 196px, 21px, 22px); +emojiPeopleActive: sprite(266px, 264px, 21px, 22px); +emojiNatureOver: sprite(42px, 196px, 21px, 22px); +emojiNatureActive: sprite(245px, 286px, 21px, 22px); +emojiFoodOver: sprite(63px, 196px, 21px, 22px); +emojiFoodActive: sprite(266px, 286px, 21px, 22px); +emojiActivityOver: sprite(126px, 196px, 21px, 22px); +emojiActivityActive: sprite(287px, 264px, 21px, 22px); +emojiTravelOver: sprite(105px, 196px, 21px, 22px); +emojiTravelActive: sprite(308px, 286px, 21px, 22px); +emojiObjectsOver: sprite(147px, 196px, 21px, 22px); +emojiObjectsActive: sprite(308px, 264px, 21px, 22px); +emojiSymbolsOver: sprite(84px, 196px, 21px, 22px); +emojiSymbolsActive: sprite(287px, 286px, 21px, 22px); +stickersSettings: sprite(140px, 124px, 21px, 22px); +savedGifsOver: sprite(329px, 286px, 21px, 22px); +savedGifsActive: sprite(350px, 286px, 21px, 22px); + +emojiPanCategories: #f7f7f7; + +rbEmoji: flatCheckbox { + textColor: transparent; + bgColor: emojiPanCategories; + disColor: emojiPanCategories; + + width: 42px; + height: 46px; + + textTop: 0px; + textLeft: 0px; + font: font(fsize); + duration: 200; + bgFunc: transition(easeOutCirc); + cursor: cursor(pointer); + + disabledCursor: cursor(default); + imagePos: point(11px, 12px); +} +rbEmojiRecent: flatCheckbox(rbEmoji) { + imageRect: emojiRecentOver; + chkImageRect: emojiRecentActive; + overImageRect: emojiRecentOver; + chkOverImageRect: emojiRecentActive; + disImageRect: emojiRecentOver; + chkDisImageRect: emojiRecentActive; +} +rbEmojiPeople: flatCheckbox(rbEmoji) { + imageRect: emojiPeopleOver; + chkImageRect: emojiPeopleActive; + overImageRect: emojiPeopleOver; + chkOverImageRect: emojiPeopleActive; + disImageRect: emojiPeopleOver; + chkDisImageRect: emojiPeopleActive; +} +rbEmojiNature: flatCheckbox(rbEmoji) { + imageRect: emojiNatureOver; + chkImageRect: emojiNatureActive; + overImageRect: emojiNatureOver; + chkOverImageRect: emojiNatureActive; + disImageRect: emojiNatureOver; + chkDisImageRect: emojiNatureActive; +} +rbEmojiFood: flatCheckbox(rbEmoji) { + imageRect: emojiFoodOver; + chkImageRect: emojiFoodActive; + overImageRect: emojiFoodOver; + chkOverImageRect: emojiFoodActive; + disImageRect: emojiFoodOver; + chkDisImageRect: emojiFoodActive; +} +rbEmojiActivity: flatCheckbox(rbEmoji) { + imageRect: emojiActivityOver; + chkImageRect: emojiActivityActive; + overImageRect: emojiActivityOver; + chkOverImageRect: emojiActivityActive; + disImageRect: emojiActivityOver; + chkDisImageRect: emojiActivityActive; +} +rbEmojiTravel: flatCheckbox(rbEmoji) { + imageRect: emojiTravelOver; + chkImageRect: emojiTravelActive; + overImageRect: emojiTravelOver; + chkOverImageRect: emojiTravelActive; + disImageRect: emojiTravelOver; + chkDisImageRect: emojiTravelActive; +} +rbEmojiObjects: flatCheckbox(rbEmoji) { + imageRect: emojiObjectsOver; + chkImageRect: emojiObjectsActive; + overImageRect: emojiObjectsOver; + chkOverImageRect: emojiObjectsActive; + disImageRect: emojiObjectsOver; + chkDisImageRect: emojiObjectsActive; +} +rbEmojiSymbols: flatCheckbox(rbEmoji) { + imageRect: emojiSymbolsOver; + chkImageRect: emojiSymbolsActive; + overImageRect: emojiSymbolsOver; + chkOverImageRect: emojiSymbolsActive; + disImageRect: emojiSymbolsOver; + chkDisImageRect: emojiSymbolsActive; +} +emojiPanPadding: 12px; +emojiPanSize: size(45px, 41px); +emojiPanWidth: 345px; +emojiPanMaxHeight: 366px; +emojiPanDuration: 200; +emojiPanHover: #f0f4f7; + +emojiPanHeader: 42px; +emojiPanHeaderFont: semiboldFont; +emojiPanHeaderColor: #999; +emojiPanHeaderLeft: 22px; +emojiPanHeaderTop: 12px; +emojiPanHeaderBg: #fffffff2; + +emojiColorsPadding: 5px; +emojiColorsSep: 1px; +emojiColorsSepColor: #d5d5d5; + +emojiSwitchSkip: 27px; +emojiSwitchImgSkip: 21px; +emojiSwitchStickers: sprite(318px, 328px, 8px, 12px); +emojiSwitchEmoji: sprite(310px, 328px, 8px, 12px); +emojiSwitchColor: #42a8db; + +stickerPanSize: size(64px, 64px); +stickerPanPadding: 11px; +stickerPanDelete: sprite(128px, 132px, 12px, 12px); +stickerPanDeleteOpacity: 0.5; +stickerIconPadding: 5px; +stickerIconOpacity: 0.7; +stickerIconSel: 2px; +stickerIconSelColor: #58b2ed; +stickerIconLeft: sprite(342px, 72px, 40px, 1px); +stickerIconRight: sprite(342px, 73px, 40px, 1px); +stickerIconMove: 400; +stickerPreviewDuration: 150; +stickerPreviewBg: #FFFFFFB0; +stickerPreviewMin: 0.1; + +verifiedCheckProfile: sprite(285px, 235px, 18px, 18px); +verifiedCheckProfilePos: point(7px, 6px); +verifiedCheck: sprite(285px, 221px, 14px, 14px); +verifiedCheckInv: sprite(299px, 221px, 14px, 14px); +verifiedCheckPos: point(4px, 2px); + +botKbDuration: 200; +botKbBg: #edf1f5; +botKbOverBg: #d8e2ec; +botKbDownBg: #d8e2ec; +botKbColor: #4b565f; +botKbFont: font(15px semibold); +botKbButton: botKeyboardButton { + margin: 10px; + padding: 10px; + height: 38px; + textTop: 9px; + downTextTop: 9px; +} +botKbTinyButton: botKeyboardButton { + margin: 4px; + padding: 3px; + height: 25px; + textTop: 2px; + downTextTop: 2px; +} +botKbScroll: flatScroll(solidScroll) { + deltax: 3px; + width: 10px; +} +switchPmButton: BoxButton(defaultBoxButton) { + width: 320px; + height: 34px; + textTop: 7px; +} + +minPhotoSize: 100px; +maxMediaSize: 420px; +maxStickerSize: 256px; +maxGifSize: 320px; +maxSignatureSize: 144px; + +mvBgColor: #222; +mvBgOpacity: 0.92; +mvThickFont: semiboldFont; +mvFont: font(fsize); + +mvTextLeft: 16px; +mvTextSkip: 10px; +mvHeaderTop: 48px; +mvTextTop: 24px; +mvTextColor: white; +mvTextOpacity: 0.5; +mvTextOverOpacity: 1; + +mvIconOpacity: 0.45; +mvIconOverOpacity: 1; +mvControlBgColor: black; +mvControlBgOpacity: 0.3; +mvControlMargin: 0px; +mvControlSize: 90px; +mvIconSize: size(60px, 56px); + +mvLeft: sprite(320px, 445px, 12px, 22px); +mvRight: sprite(332px, 445px, 12px, 22px); +mvClose: sprite(344px, 445px, 18px, 18px); +mvSave: sprite(362px, 445px, 14px, 19px); +mvMore: sprite(376px, 445px, 5px, 21px); + +mvDropdown: dropdown(dropdownDef) { + shadow: sprite(0px, 0px, 0px, 0px); + padding: margins(11px, 12px, 11px, 12px); + + border: 0px; + width: 182px; +} +mvButton: iconedButton(btnDefIconed) { + bgColor: #383838; + overBgColor: #505050; + font: font(fsize); + + opacity: 1.; + overOpacity: 1.; + + width: -32px; + height: 36px; + + color: white; + + textPos: point(16px, 9px); + downTextPos: point(16px, 10px); + + duration: 0; +} +mvPopupMenu: PopupMenu(defaultPopupMenu) { + shadow: sprite(0px, 0px, 0px, 0px); + + itemBg: #383838; + itemBgOver: #505050; + itemFg: white; + itemFgOver: white; + itemFgDisabled: #999; + itemFgShortcut: #eee; + itemFgShortcutOver: #fff; + itemFgShortcutDisabled: #999; + + separatorFg: #484848; +} +mvContextButton: iconedButton(mvButton) { + bgColor: #383838E6; + overBgColor: #505050E7; +} +mvWaitHide: 2000; +mvHideDuration: 1000; +mvShowDuration: 200; +mvFadeDuration: 150; + +mvDocPadding: 18px; +mvDocSize: size(340px, 116px); +mvDocBg: white; +mvDocNameTop: 4px; +mvDocNameFont: font(semibold 14px); +mvDocNameColor: black; +mvDocSizeTop: 29px; +mvDocSizeColor: #808080; +mvDocExtTop: 35px; +mvDocExtFont: font(semibold 18px); +mvDocExtColor: white; +mvDocExtPadding: 10px; +mvDocLinksTop: 57px; +mvDocRed: sprite(0px, 400px, 25px, 25px); +mvDocYellow: sprite(25px, 400px, 25px, 25px); +mvDocGreen: sprite(50px, 400px, 25px, 25px); +mvDocBlue: sprite(75px, 400px, 25px, 25px); +mvDocIconSize: 80px; + +mvDocLink: linkButton(btnDefLink) { + color: #4595d3; + overColor: #4595d3; + downColor: #4595d3; +} + +mvDeltaFromLastAction: 5px; +mvSwipeDistance: 80px; + +mvCaptionPadding: margins(18px, 10px, 18px, 10px); +mvCaptionMargin: size(11px, 11px); +mvCaptionRadius: 2px; +mvCaptionBg: #11111180; +mvCaptionFont: font(fsize); + +medviewSaveMsgCheck: sprite(311px, 309px, 22px, 18px); +medviewSaveMsgFont: font(16px); +medviewSaveMsgPadding: margins(55px, 19px, 29px, 20px); +medviewSaveMsgCheckPos: point(23px, 21px); +medviewSaveMsgShowing: 200; +medviewSaveMsgShown: 2000; +medviewSaveMsgHiding: 2500; +medviewSaveMsg: #000000b2; + +mvTransparentBrush: sprite(9px, 124px, 8px, 8px); + +overviewPhotoSkip: 10px; +overviewPhotoBg: #F1F1F1; +overviewPhotoMinSize: minPhotoSize; +overviewPhotoCheck: sprite(245px, 308px, 32px, 32px); +overviewPhotoChecked: sprite(278px, 308px, 32px, 32px); +overviewPhotoSelectOverlay: #0a7bb03f; + +overviewFilePadding: margins(0px, 3px, 16px, 3px); +overviewFileSize: 70px; +overviewFileNameTop: 7px; +overviewFileStatusTop: 27px; +overviewFileDateTop: 49px; +overviewFileChecked: #2fa9e2; +overviewFileCheck: #00000066; +overviewFileExtPadding: 5px; +overviewFileExtTop: 24px; +overviewFileExtFont: font(18px semibold); + +// Mac specific + +macAccessoryWidth: 450.; +macAccessoryHeight: 90.; +macEnableFilterAdd: 2; +macEnableFilterTop: 5; +macSelectorTop: 6; +macAlwaysThisAppTop: 4; +macAppHintTop: 8; +macCautionIconSize: 16; + +btnContext: iconedButton(btnDefIconed) { + bgColor: white; + overBgColor: btnWhiteHover; + font: font(14px); + + opacity: 1.; + overOpacity: 1.; + + width: -32px; + height: 36px; + + color: black; + + textPos: point(16px, 7px); + downTextPos: point(16px, 8px); +} + +photoLoader: size(52px, 22px); +photoLoaderBg: #00000054; +photoLoaderCnt: 3; +photoLoaderPoint: size(6px, 6px); +photoLoaderSkip: 6px; +photoLoaderPeriod: 600; // ms full period +photoLoaderDelta: 150; // ms between points +photoLoaderDuration1: 150; // ms fade in +photoLoaderDuration2: 150; // ms fade out +photoLoaderAlphaMin: 0.1; // not less than that + +radialSize: size(50px, 50px); +radialLine: 2px; +radialDuration: 350; +radialPeriod: 3000; +radialBgOpacity: 0.4; +radialDownload: sprite(346px, 0px, 50px, 50px); +radialDownloadOpacity: 0.8; +radialCancel: sprite(378px, 50px, 18px, 18px); +radialCancelOpacity: 1.0; + +overviewLoader: size(34px, 14px); +overviewLoaderPoint: size(4px, 4px); +overviewLoaderSkip: 4px; + +mediaviewLoader: size(78px, 33px); +mediaviewLoaderPoint: size(9px, 9px); +mediaviewLoaderSkip: 9px; + +downloadPathSkip: 10px; + +usernamePadding: margins(23px, 22px, 21px, 12px); +usernameSkip: 49px; +usernameTextStyle: textStyle(defaultTextStyle) { + lineHeight: 20px; +} +usernameDefaultFg: #777; + +youtubeIcon: sprite(116px, 338px, 72px, 50px); +videoIcon: sprite(0px, 340px, 60px, 60px); +locationSize: size(320px, 240px); + +boxOptionListPadding: margins(2px, 20px, 2px, 2px); + +langsWidth: 256px; +langsButton: Radiobutton(defaultRadiobutton) { + width: 200px; +} + +backgroundPadding: 10px; +backgroundSize: size(108px, 193px); +backgroundScroll: flatScroll(boxScroll) { + width: 10px; + deltax: 3px; + deltat: 10px; + deltab: 0px; +} + +passcodeHeaderFont: font(19px); +passcodeHeaderHeight: 80px; +passcodeInput: flatInput(inpIntroPhone) { +} +passcodeSubmit: flatButton(btnIntroNext) { + textTop: 15px; + overTextTop: 15px; + downTextTop: 16px; + width: 225px; + font: font(19px); + overFont: font(19px); +} +passcodeSubmitSkip: 40px; +passcodePadding: margins(0px, 22px, 0px, 3px); +passcodeSkip: 31px; + +mentionHeight: 40px; +mentionScroll: flatScroll(scrollDef) { + topsh: 0px; + bottomsh: 0px; +} +mentionPadding: margins(8px, 5px, 8px, 5px); +mentionTop: 11px; +mentionFont: linkFont; +mentionPhotoSize: msgPhotoSize; +mentionBgOver: #f5f5f5; +mentionFg: #777; +mentionFgOver: #707070; +mentionFgActive: #0080c0; +mentionFgOverActive: #0077b3; + +sessionsScroll: flatScroll(boxScroll) { + deltax: 5px; + width: 14px; +} +sessionsHeight: 440px; +sessionHeight: 70px; +sessionCurrentPadding: margins(0px, 7px, 0px, 4px); +sessionCurrentHeight: 118px; +sessionPadding: margins(21px, 10px, 21px, 0px); +sessionNameFont: msgNameFont; +sessionActiveFont: msgDateFont; +sessionActiveColor: #aaa; +sessionInfoFont: msgFont; +sessionInfoColor: dlgTextColor; +sessionTerminateTop: 30px; +sessionTerminateSkip: 18px; +sessionTerminate: iconedButton(notifyClose) { + iconPos: point(3px, 3px); + downIconPos: point(3px, 4px); + width: 16px; + height: 16px; +} + +webPageLeft: 10px; +webPageBar: 2px; +webPageTitleFont: semiboldFont; +webPageDescriptionFont: normalFont; +webPagePhotoSkip: 5px; +webPagePhotoSize: 100px; +webPagePhotoDelta: 8px; + +botDescSkip: 8px; + +suppressAll: 0.2; +suppressSong: 0.05; + +playerHeight: 44px; +playerBg: #e4e9ef; +playerFg: #54748f; +playerTimeFg: #a4afba; +playerLineHeight: 3px; +playerMoverSize: size(2px, 7px); +playerLineActive: #6389a8; +playerLineInactive: #bac7d4; +playerSkip: 8px; +playerNameStyle: textStyle(defaultTextStyle) { + linkFg: #6389a8; + linkFgDown: #6389a8; + linkFlags: semiboldFont; + linkFlagsOver: semiboldFont; +} +playerPlay: sprite(377px, 109px, 19px, 22px); +playerPause: sprite(379px, 131px, 17px, 20px); +playerNext: sprite(374px, 151px, 22px, 14px); +playerPrev: sprite(374px, 165px, 22px, 14px); +playerClose: sprite(361px, 97px, 12px, 12px); +playerFull: sprite(365px, 109px, 12px, 12px); +playerRepeat: sprite(365px, 121px, 12px, 14px); +playerVolume: sprite(352px, 179px, 44px, 12px); +playerInactiveOpacity: 0.8; +playerUnavailableOpacity: 0.3; +playerDuration: 200; + +playlistHoverBg: #f2f2f2; +playlistPadding: 10px; + +linksSearchMargin: margins(20px, 20px, 20px, 0px); +linksMaxWidth: 520px; +linksLetterFont: font(24px); +linksMargin: margins(0px, 7px, 0px, 5px); +linksTextTop: 6px; +linksBorder: 1px; +linksBorderFg: #eaeaea; +linksDateColor: #808080; +linksDateMargin: margins(0px, 15px, 0px, 2px); + +linksPhotoCheck: sprite(184px, 196px, 16px, 16px); +linksPhotoChecked: sprite(168px, 196px, 16px, 16px); + +inlineResultsLeft: 11px; +inlineResultsSkip: 3px; +inlineMediaHeight: 96px; +inlineThumbSize: 64px; +inlineThumbSkip: 10px; +inlineDescriptionFg: #8a8a8a; +inlineRowMargin: 6px; +inlineRowBorder: linksBorder; +inlineRowBorderFg: linksBorderFg; +inlineRowFileNameTop: 2px; +inlineRowFileDescriptionTop: 23px; +inlineResultsMinWidth: 64px; +inlineDurationMargin: 3px; + +editTextArea: InputArea(defaultInputArea) { + textMargins: margins(1px, 6px, 1px, 4px); + heightMax: 256px; +} + +toastFont: normalFont; +toastMaxWidth: 480px; +toastMinMargin: 13px; +toastBg: medviewSaveMsg; +toastFg: #FFF; +toastPadding: margins(19px, 13px, 19px, 12px); +toastFadeInDuration: 200; +toastFadeOutDuration: 1000; + +infoButton: PeerAvatarButton { + size: topBarHeight; + photoSize: 42px; +} diff --git a/Telegram/Resources/basic_types.style b/Telegram/Resources/basic_types.style new file mode 100644 index 000000000..750a52cea --- /dev/null +++ b/Telegram/Resources/basic_types.style @@ -0,0 +1,413 @@ +/* +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 +*/ + +textStyle { + linkFlags: font; + linkFlagsOver: font; + linkFg: color; + linkFgDown: color; + monoFg: color; + selectBg: color; + selectOverlay: color; + lineHeight: pixels; +} + +linkButton { + color: color; + overColor: color; + downColor: color; + font: font; + overFont: font; +} + +sysButton { + size: size; + img: sprite; + color: color; + overColor: color; + duration: int; +} + +flatButton { + color: color; + overColor: color; + downColor: color; + + bgColor: color; + overBgColor: color; + downBgColor: color; + + width: pixels; + height: pixels; + + textTop: pixels; + overTextTop: pixels; + downTextTop: pixels; + + font: font; + overFont: font; + duration: int; + cursor: cursor; +} + +iconedButton { + icon: sprite; + iconPos: point; + downIcon: sprite; + downIconPos: point; + + color: color; + bgColor: color; + overBgColor: color; + width: pixels; + height: pixels; + font: font; + + opacity: double; + overOpacity: double; + + textPos: point; + downTextPos: point; + + duration: int; + cursor: cursor; +} + +flatCheckbox { + textColor: color; + bgColor: color; + disColor: color; + + width: pixels; + height: pixels; + textTop: pixels; + textLeft: pixels; + font: font; + duration: int; + bgFunc: transition; + cursor: cursor; + + disabledCursor: cursor; + + imageRect: sprite; + chkImageRect: sprite; + overImageRect: sprite; + chkOverImageRect: sprite; + disImageRect: sprite; + chkDisImageRect: sprite; + + imagePos: point; +} + +flatInput { + textColor: color; + bgColor: color; + bgActive: color; + width: pixels; + height: pixels; + textMrg: margins; + align: align; + font: font; + cursor: cursor; + + imgRect: sprite; + imgPos: point; + + borderWidth: pixels; + borderColor: color; + borderActive: color; + borderError: color; + + phColor: color; + phFocusColor: color; + phPos: point; + phAlign: align; + phShift: pixels; + phDuration: int; + phLeftFunc: transition; + phAlphaFunc: transition; + phColorFunc: transition; +} + +flatTextarea { + textColor: color; + bgColor: color; + width: pixels; + textMrg: margins; + align: align; + font: font; + cursor: cursor; + + phColor: color; + phFocusColor: color; + phPos: point; + phAlign: align; + phShift: pixels; + phDuration: int; + phLeftFunc: transition; + phAlphaFunc: transition; + phColorFunc: transition; +} + +flatScroll { + barColor: color; + bgColor: color; + barOverColor: color; + bgOverColor: color; + + round: pixels; + + width: pixels; + minHeight: pixels; + deltax: pixels; + deltat: pixels; + deltab: pixels; + + topsh: pixels; + bottomsh: pixels; + shColor: color; + + duration: int; + hiding: int; +} + +countryInput { + width: pixels; + height: pixels; + top: pixels; + bgColor: color; + ptrSize: size; + textMrg: margins; + font: font; + align: align; +} + +slider { + color: color; + thikness: pixels; + + width: pixels; + bar: sprite; +} + +flatLabel { + font: font; + minWidth: pixels; + width: pixels; + align: align; +} + +switcher { + border: pixels; + borderColor: color; + + bgColor: color; + bgHovered: color; + bgActive: color; + + height: pixels; + + font: font; + textColor: color; + activeColor: color; + + duration: int; +} + +dropdown { + border: pixels; + borderColor: color; + + padding: margins; + shadow: sprite; + shadowShift: pixels; + + duration: int; + width: pixels; +} + +PopupMenu { + skip: pixels; + + shadow: sprite; + shadowShift: pixels; + + itemBg: color; + itemBgOver: color; + itemFg: color; + itemFgOver: color; + itemFgDisabled: color; + itemFgShortcut: color; + itemFgShortcutOver: color; + itemFgShortcutDisabled: color; + itemPadding: margins; + itemFont: font; + + separatorPadding: margins; + separatorWidth: pixels; + separatorFg: color; + + arrow: sprite; + + duration: int; + + widthMin: pixels; + widthMax: pixels; +} + +Tooltip { + textBg: color; + textFg: color; + textFont: font; + textBorder: color; + textPadding: margins; + + shift: point; + skip: pixels; + + widthMax: pixels; + linesMax: int; +} + +botKeyboardButton { + margin: pixels; + padding: pixels; + height: pixels; + textTop: pixels; + downTextTop: pixels; +} + +BoxButton { + textFg: color; + textFgOver: color; + textBg: color; // rect of textBg with rounded rect of textBgOver upon it + textBgOver: color; + + width: pixels; + height: pixels; + + textTop: pixels; + + font: font; + duration: int; +} + +Checkbox { + textFg: color; + textBg: color; + + checkFg: color; + checkFgOver: color; + checkFgActive: color; + + width: pixels; + height: pixels; + + textPosition: point; + diameter: pixels; + thickness: pixels; + checkIcon: sprite; + + font: font; + duration: int; +} + +Radiobutton { + textFg: color; + textBg: color; + + checkFg: color; + checkFgOver: color; + checkFgActive: color; + + width: pixels; + height: pixels; + + textPosition: point; + diameter: pixels; + thickness: pixels; + checkSkip: pixels; + + font: font; + duration: int; +} + +InputArea { + textFg: color; + textMargins: margins; + + placeholderFg: color; + placeholderFgActive: color; + placeholderMargins: margins; + placeholderAlign: align; + placeholderShift: pixels; + + duration: int; + + borderFg: color; + borderFgActive: color; + borderFgError: color; + + border: pixels; + borderActive: pixels; + borderError: pixels; + + font: font; + + width: pixels; + heightMin: pixels; + heightMax: pixels; +} + +InputField { + textFg: color; + textMargins: margins; + textAlign: align; + + placeholderFg: color; + placeholderFgActive: color; + placeholderMargins: margins; + placeholderAlign: align; + placeholderShift: pixels; + + duration: int; + + borderFg: color; + borderFgActive: color; + borderFgError: color; + + border: pixels; + borderActive: pixels; + borderError: pixels; + + font: font; + + width: pixels; + height: pixels; + + iconSprite: sprite; + iconPosition: point; +} + +PeerAvatarButton { + size: pixels; + photoSize: pixels; +} diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index f63bb4db3..003796f0c 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -18,10 +18,8 @@ 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 */ -using "Resources/style_classes.txt"; - -defaultFontFamily: "Open Sans"; -semibold: "Open Sans Semibold"; +defaultFontFamily: 'Open Sans'; +semibold: 'Open Sans Semibold'; fsize: 13px; normalFont: font(fsize); @@ -385,7 +383,7 @@ btnDefIconed: iconedButton { font: font(fsize); opacity: 0.78; - overOpacity: 1.; + overOpacity: 1; textPos: point(0px, 0px); downTextPos: point(0px, 0px); @@ -433,7 +431,7 @@ titleBackButton: iconedButton(btnDefIconed) { width: -30px; height: 39px; - opacity: 1.; + opacity: 1; cursor: cursor(default); textPos: point(23px, 10px); @@ -1117,8 +1115,8 @@ msgLinkColor: #2a6dc2; msgPressedLinkColor: #004bad; msgSkip: 40px; msgPtr: 8px; -msgBG: ":/gui/art/bg.jpg"; -msgBG0: ":/gui/art/bg0.png"; +msgBG: ':/gui/art/bg.jpg'; +msgBG0: ':/gui/art/bg0.png'; msgCheckPos: point(3px, 1px); msgSendingImg: sprite(260px, 20px, 20px, 20px); @@ -1549,7 +1547,7 @@ reportSpamButton: flatButton(reportSpamHide) { reportSpamSeparator: 30px; reportSpamBg: #fffffff0; -newMsgSound: ":/gui/art/newmsg.wav"; +newMsgSound: ':/gui/art/newmsg.wav'; unreadBarHeight: 32px; unreadBarMargin: 8px; @@ -2189,7 +2187,7 @@ mvDropdown: dropdown(dropdownDef) { shadow: sprite(0px, 0px, 0px, 0px); padding: margins(11px, 12px, 11px, 12px); - border: 0px; + border: 0; width: 182px; } mvButton: iconedButton(btnDefIconed) { @@ -2197,8 +2195,8 @@ mvButton: iconedButton(btnDefIconed) { overBgColor: #505050; font: font(fsize); - opacity: 1.; - overOpacity: 1.; + opacity: 1; + overOpacity: 1; width: -32px; height: 36px; @@ -2298,8 +2296,8 @@ overviewFileExtFont: font(18px semibold); // Mac specific -macAccessoryWidth: 450.; -macAccessoryHeight: 90.; +macAccessoryWidth: 450; +macAccessoryHeight: 90; macEnableFilterAdd: 2; macEnableFilterTop: 5; macSelectorTop: 6; @@ -2312,8 +2310,8 @@ btnContext: iconedButton(btnDefIconed) { overBgColor: btnWhiteHover; font: font(14px); - opacity: 1.; - overOpacity: 1.; + opacity: 1; + overOpacity: 1; width: -32px; height: 36px; @@ -2400,8 +2398,8 @@ passcodeSkip: 31px; mentionHeight: 40px; mentionScroll: flatScroll(scrollDef) { - topsh: 0px; - bottomsh: 0px; + topsh: 0; + bottomsh: 0; } mentionPadding: margins(8px, 5px, 8px, 5px); mentionTop: 11px; @@ -2421,7 +2419,7 @@ sessionsHeight: 440px; sessionHeight: 70px; sessionCurrentPadding: margins(0px, 7px, 0px, 4px); sessionCurrentHeight: 118px; -sessionPadding: margins(21px, 10px, 21px, 0px); +sessionPadding: margins(21px, 10px, 21px, 0); sessionNameFont: msgNameFont; sessionActiveFont: msgDateFont; sessionActiveColor: #aaa; diff --git a/Telegram/Resources/style_classes.txt b/Telegram/Resources/style_classes.txt index 27079bf5b..a3405a048 100644 --- a/Telegram/Resources/style_classes.txt +++ b/Telegram/Resources/style_classes.txt @@ -26,7 +26,7 @@ textStyle { monoFg: color; selectBg: color; selectOverlay: color; - lineHeight: pixels; + lineHeight: number; } linkButton { @@ -42,7 +42,7 @@ sysButton { img: sprite; color: color; overColor: color; - duration: int; + duration: number; } flatButton { @@ -54,16 +54,16 @@ flatButton { overBgColor: color; downBgColor: color; - width: pixels; - height: pixels; + width: number; + height: number; - textTop: pixels; - overTextTop: pixels; - downTextTop: pixels; + textTop: number; + overTextTop: number; + downTextTop: number; font: font; overFont: font; - duration: int; + duration: number; cursor: cursor; } @@ -76,17 +76,17 @@ iconedButton { color: color; bgColor: color; overBgColor: color; - width: pixels; - height: pixels; + width: number; + height: number; font: font; - opacity: double; - overOpacity: double; + opacity: number; + overOpacity: number; textPos: point; downTextPos: point; - duration: int; + duration: number; cursor: cursor; } @@ -95,12 +95,12 @@ flatCheckbox { bgColor: color; disColor: color; - width: pixels; - height: pixels; - textTop: pixels; - textLeft: pixels; + width: number; + height: number; + textTop: number; + textLeft: number; font: font; - duration: int; + duration: number; bgFunc: transition; cursor: cursor; @@ -120,8 +120,8 @@ flatInput { textColor: color; bgColor: color; bgActive: color; - width: pixels; - height: pixels; + width: number; + height: number; textMrg: margins; align: align; font: font; @@ -130,7 +130,7 @@ flatInput { imgRect: sprite; imgPos: point; - borderWidth: pixels; + borderWidth: number; borderColor: color; borderActive: color; borderError: color; @@ -139,8 +139,8 @@ flatInput { phFocusColor: color; phPos: point; phAlign: align; - phShift: pixels; - phDuration: int; + phShift: number; + phDuration: number; phLeftFunc: transition; phAlphaFunc: transition; phColorFunc: transition; @@ -149,7 +149,7 @@ flatInput { flatTextarea { textColor: color; bgColor: color; - width: pixels; + width: number; textMrg: margins; align: align; font: font; @@ -159,8 +159,8 @@ flatTextarea { phFocusColor: color; phPos: point; phAlign: align; - phShift: pixels; - phDuration: int; + phShift: number; + phDuration: number; phLeftFunc: transition; phAlphaFunc: transition; phColorFunc: transition; @@ -172,26 +172,26 @@ flatScroll { barOverColor: color; bgOverColor: color; - round: pixels; + round: number; - width: pixels; - minHeight: pixels; - deltax: pixels; - deltat: pixels; - deltab: pixels; + width: number; + minHeight: number; + deltax: number; + deltat: number; + deltab: number; - topsh: pixels; - bottomsh: pixels; + topsh: number; + bottomsh: number; shColor: color; - duration: int; - hiding: int; + duration: number; + hiding: number; } countryInput { - width: pixels; - height: pixels; - top: pixels; + width: number; + height: number; + top: number; bgColor: color; ptrSize: size; textMrg: margins; @@ -201,53 +201,53 @@ countryInput { slider { color: color; - thikness: pixels; + thikness: number; - width: pixels; + width: number; bar: sprite; } flatLabel { font: font; - minWidth: pixels; - width: pixels; + minWidth: number; + width: number; align: align; } switcher { - border: pixels; + border: number; borderColor: color; bgColor: color; bgHovered: color; bgActive: color; - height: pixels; + height: number; font: font; textColor: color; activeColor: color; - duration: int; + duration: number; } dropdown { - border: pixels; + border: number; borderColor: color; padding: margins; shadow: sprite; - shadowShift: pixels; + shadowShift: number; - duration: int; - width: pixels; + duration: number; + width: number; } PopupMenu { - skip: pixels; + skip: number; shadow: sprite; - shadowShift: pixels; + shadowShift: number; itemBg: color; itemBgOver: color; @@ -261,15 +261,15 @@ PopupMenu { itemFont: font; separatorPadding: margins; - separatorWidth: pixels; + separatorWidth: number; separatorFg: color; arrow: sprite; - duration: int; + duration: number; - widthMin: pixels; - widthMax: pixels; + widthMin: number; + widthMax: number; } Tooltip { @@ -280,18 +280,18 @@ Tooltip { textPadding: margins; shift: point; - skip: pixels; + skip: number; - widthMax: pixels; - linesMax: int; + widthMax: number; + linesMax: number; } botKeyboardButton { - margin: pixels; - padding: pixels; - height: pixels; - textTop: pixels; - downTextTop: pixels; + margin: number; + padding: number; + height: number; + textTop: number; + downTextTop: number; } BoxButton { @@ -300,13 +300,13 @@ BoxButton { textBg: color; // rect of textBg with rounded rect of textBgOver upon it textBgOver: color; - width: pixels; - height: pixels; + width: number; + height: number; - textTop: pixels; + textTop: number; font: font; - duration: int; + duration: number; } Checkbox { @@ -317,16 +317,16 @@ Checkbox { checkFgOver: color; checkFgActive: color; - width: pixels; - height: pixels; + width: number; + height: number; textPosition: point; - diameter: pixels; - thickness: pixels; + diameter: number; + thickness: number; checkIcon: sprite; font: font; - duration: int; + duration: number; } Radiobutton { @@ -337,16 +337,16 @@ Radiobutton { checkFgOver: color; checkFgActive: color; - width: pixels; - height: pixels; + width: number; + height: number; textPosition: point; - diameter: pixels; - thickness: pixels; - checkSkip: pixels; + diameter: number; + thickness: number; + checkSkip: number; font: font; - duration: int; + duration: number; } InputArea { @@ -357,23 +357,23 @@ InputArea { placeholderFgActive: color; placeholderMargins: margins; placeholderAlign: align; - placeholderShift: pixels; + placeholderShift: number; - duration: int; + duration: number; borderFg: color; borderFgActive: color; borderFgError: color; - border: pixels; - borderActive: pixels; - borderError: pixels; + border: number; + borderActive: number; + borderError: number; font: font; - width: pixels; - heightMin: pixels; - heightMax: pixels; + width: number; + heightMin: number; + heightMax: number; } InputField { @@ -385,28 +385,28 @@ InputField { placeholderFgActive: color; placeholderMargins: margins; placeholderAlign: align; - placeholderShift: pixels; + placeholderShift: number; - duration: int; + duration: number; borderFg: color; borderFgActive: color; borderFgError: color; - border: pixels; - borderActive: pixels; - borderError: pixels; + border: number; + borderActive: number; + borderError: number; font: font; - width: pixels; - height: pixels; + width: number; + height: number; iconSprite: sprite; iconPosition: point; } PeerAvatarButton { - size: pixels; - photoSize: pixels; + size: number; + photoSize: number; } diff --git a/Telegram/SourceFiles/app.cpp b/Telegram/SourceFiles/app.cpp index d91437298..c61401d69 100644 --- a/Telegram/SourceFiles/app.cpp +++ b/Telegram/SourceFiles/app.cpp @@ -82,7 +82,7 @@ namespace { HistoryItem *hoveredItem = 0, *pressedItem = 0, *hoveredLinkItem = 0, *pressedLinkItem = 0, *contextItem = 0, *mousedItem = 0; - QPixmap *sprite = 0, *emoji = 0, *emojiLarge = 0; + QPixmap *emoji = 0, *emojiLarge = 0; style::font monofont; struct CornersPixmaps { @@ -1993,23 +1993,6 @@ namespace { if (family.isEmpty()) family = QFontDatabase::systemFont(QFontDatabase::FixedFont).family(); ::monofont = style::font(st::normalFont->f.pixelSize(), 0, family); } - if (!::sprite) { - QString spriteFilePostfix; - if (cRetina() || cScale() == dbisTwo) { - spriteFilePostfix = qsl("_200x"); - } else if (cScale() == dbisOneAndQuarter) { - spriteFilePostfix = qsl("_125x"); - } else if (cScale() == dbisOneAndHalf) { - spriteFilePostfix = qsl("_150x"); - } - QString spriteFile = qsl(":/gui/art/sprite") + spriteFilePostfix + qsl(".png"); - if (rtl()) { - ::sprite = new QPixmap(QPixmap::fromImage(QImage(spriteFile).mirrored(true, false))); - } else { - ::sprite = new QPixmap(spriteFile); - } - if (cRetina()) ::sprite->setDevicePixelRatio(cRetinaFactor()); - } emojiInit(); if (!::emoji) { ::emoji = new QPixmap(QLatin1String(EName)); @@ -2070,8 +2053,6 @@ namespace { void deinitMedia() { audioFinish(); - delete ::sprite; - ::sprite = 0; delete ::emoji; ::emoji = 0; delete ::emojiLarge; @@ -2149,7 +2130,7 @@ namespace { } const QPixmap &sprite() { - return *::sprite; + return style::spritePixmap(); } const QPixmap &emoji() { diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h index 400fc9051..d33e06ee4 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h @@ -36,7 +36,7 @@ class LogStream; // Interface for reading a cleaned from comments file by basic tokens. class BasicTokenizedFile { public: - BasicTokenizedFile(const QString &filepath); + explicit BasicTokenizedFile(const QString &filepath); BasicTokenizedFile(const BasicTokenizedFile &other) = delete; BasicTokenizedFile &operator=(const BasicTokenizedFile &other) = delete; diff --git a/Telegram/SourceFiles/codegen/common/checked_utf8_string.h b/Telegram/SourceFiles/codegen/common/checked_utf8_string.h index 5ce217067..69441f838 100644 --- a/Telegram/SourceFiles/codegen/common/checked_utf8_string.h +++ b/Telegram/SourceFiles/codegen/common/checked_utf8_string.h @@ -36,9 +36,9 @@ public: CheckedUtf8String(const CheckedUtf8String &other) = default; CheckedUtf8String &operator=(const CheckedUtf8String &other) = default; - CheckedUtf8String(const char *string, int size = -1); - CheckedUtf8String(const QByteArray &string); - CheckedUtf8String(const ConstUtf8String &string); + explicit CheckedUtf8String(const char *string, int size = -1); + explicit CheckedUtf8String(const QByteArray &string); + explicit CheckedUtf8String(const ConstUtf8String &string); bool isValid() const { return valid_; diff --git a/Telegram/SourceFiles/codegen/common/clean_file.h b/Telegram/SourceFiles/codegen/common/clean_file.h index 80d4f73e3..82edf5a79 100644 --- a/Telegram/SourceFiles/codegen/common/clean_file.h +++ b/Telegram/SourceFiles/codegen/common/clean_file.h @@ -32,7 +32,7 @@ namespace common { // Reads a file removing all C-style comments. class CleanFile { public: - CleanFile(const QString &filepath); + explicit CleanFile(const QString &filepath); CleanFile(const CleanFile &other) = delete; CleanFile &operator=(const CleanFile &other) = delete; diff --git a/Telegram/SourceFiles/codegen/common/const_utf8_string.h b/Telegram/SourceFiles/codegen/common/const_utf8_string.h index 18f0849c8..d9b3ac03a 100644 --- a/Telegram/SourceFiles/codegen/common/const_utf8_string.h +++ b/Telegram/SourceFiles/codegen/common/const_utf8_string.h @@ -31,7 +31,7 @@ namespace common { // Not null-terminated! It does not hold any ownership. class ConstUtf8String { public: - ConstUtf8String(const char *string, int size = -1) : string_(string) { + explicit ConstUtf8String(const char *string, int size = -1) : string_(string) { if (size < 0) { size = strlen(string); } diff --git a/Telegram/SourceFiles/codegen/common/cpp_file.cpp b/Telegram/SourceFiles/codegen/common/cpp_file.cpp new file mode 100644 index 000000000..14d4d87f6 --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/cpp_file.cpp @@ -0,0 +1,135 @@ +/* +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 "codegen/common/cpp_file.h" + +#include +#include + +namespace codegen { +namespace common { +namespace { + +void writeLicense(QTextStream &stream, const ProjectInfo &project) { + stream << "\ +/*\n\ +WARNING! All changes made in this file will be lost!\n\ +Created from '" << project.source << "' by '" << project.name << "'\n\ +\n\ +This file is part of Telegram Desktop,\n\ +the official desktop version of Telegram messaging app, see https://telegram.org\n\ +\n\ +Telegram Desktop is free software: you can redistribute it and/or modify\n\ +it under the terms of the GNU General Public License as published by\n\ +the Free Software Foundation, either version 3 of the License, or\n\ +(at your option) any later version.\n\ +\n\ +It is distributed in the hope that it will be useful,\n\ +but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ +GNU General Public License for more details.\n\ +\n\ +In addition, as a special exception, the copyright holders give permission\n\ +to link the code of portions of this program with the OpenSSL library.\n\ +\n\ +Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\n\ +Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org\n\ +*/\n"; +} + +} // namespace + +CppFile::CppFile(const QString &path, const ProjectInfo &project) +: stream_(&content_) +, forceReGenerate_(project.forceReGenerate) { + bool cpp = path.toLower().endsWith(".cpp"); + + QFileInfo info(path); + info.dir().mkpath("."); + filepath_ = info.absoluteFilePath(); + + writeLicense(stream_, project); + if (cpp) { + if (!project.precompiledHeader.isEmpty()) { + include(project.precompiledHeader); + } + include(info.baseName() + ".h").newline(); + } else { + stream() << "#pragma once"; + newline().newline(); + } +} + +CppFile &CppFile::include(const QString &header) { + stream() << "#include \"" << header << "\""; + return newline(); +} + +CppFile &CppFile::pushNamespace(const QString &name) { + namespaces_.push_back(name); + + stream() << "namespace"; + if (!name.isEmpty()) { + stream() << ' ' << name; + } + stream() << " {"; + return newline(); +} + +CppFile &CppFile::popNamespace() { + if (namespaces_.isEmpty()) { + return *this; + } + auto name = namespaces_.back(); + namespaces_.pop_back(); + + stream() << "} // namespace"; + if (!name.isEmpty()) { + stream() << ' ' << name; + } + return newline(); +} + +bool CppFile::finalize() { + while (!namespaces_.isEmpty()) { + popNamespace(); + } + stream_.flush(); + + QFile file(filepath_); + if (!forceReGenerate_ && file.open(QIODevice::ReadOnly)) { + if (file.readAll() == content_) { + file.close(); + return true; + } + file.close(); + } + + if (!file.open(QIODevice::WriteOnly)) { + return false; + } + if (file.write(content_) != content_.size()) { + return false; + } + return true; +} + +} // namespace common +} // namespace codegen \ No newline at end of file diff --git a/Telegram/SourceFiles/codegen/common/cpp_file.h b/Telegram/SourceFiles/codegen/common/cpp_file.h new file mode 100644 index 000000000..31691103a --- /dev/null +++ b/Telegram/SourceFiles/codegen/common/cpp_file.h @@ -0,0 +1,70 @@ +/* +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 +#include +#include + +namespace codegen { +namespace common { + +struct ProjectInfo { + QString name; + QString source; + QString precompiledHeader; + bool forceReGenerate; +}; + +// Creates a file with license header and codegen warning. +class CppFile { +public: + // If "basepath" is empty the folder containing "path" will be chosen. + // File ending with .cpp will be treated as source, otherwise like header. + CppFile(const QString &path, const ProjectInfo &project); + + QTextStream &stream() { + return stream_; + } + + CppFile &newline() { + stream() << "\n"; + return *this; + } + CppFile &include(const QString &header); + + // Empty name adds anonymous namespace. + CppFile &pushNamespace(const QString &name = QString()); + CppFile &popNamespace(); + + bool finalize(); + +private: + QString filepath_; + QByteArray content_; + QTextStream stream_; + QVector namespaces_; + bool forceReGenerate_; + +}; + +} // namespace common +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/numbers/generator.cpp b/Telegram/SourceFiles/codegen/numbers/generator.cpp new file mode 100644 index 000000000..e80f48297 --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/generator.cpp @@ -0,0 +1,54 @@ +/* +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 "codegen/numbers/generator.h" + +#include +#include +#include + +namespace codegen { +namespace numbers { +namespace { + +} // namespace + +Generator::Generator(const Rules &rules, const QString &destBasePath, const common::ProjectInfo &project) +: rules_(rules) +, basePath_(destBasePath) +, project_(project) { +} + +bool Generator::writeHeader() { + header_ = std::make_unique(basePath_ + ".h", project_); + + header_->stream() << "QVector phoneNumberParse(const QString &number);\n"; + + return header_->finalize(); +} + +bool Generator::writeSource() { + source_ = std::make_unique(basePath_ + ".cpp", project_); + + return source_->finalize(); +} + +} // namespace numbers +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/numbers/generator.h b/Telegram/SourceFiles/codegen/numbers/generator.h new file mode 100644 index 000000000..f7bff73e9 --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/generator.h @@ -0,0 +1,50 @@ +/* +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 +#include +#include +#include "codegen/common/cpp_file.h" +#include "codegen/numbers/parsed_file.h" + +namespace codegen { +namespace numbers { + +class Generator { +public: + Generator(const Rules &rules, const QString &destBasePath, const common::ProjectInfo &project); + Generator(const Generator &other) = delete; + Generator &operator=(const Generator &other) = delete; + + bool writeHeader(); + bool writeSource(); + +private: + const Rules &rules_; + QString basePath_; + const common::ProjectInfo &project_; + std::unique_ptr source_, header_; + +}; + +} // namespace numbers +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/numbers/main.cpp b/Telegram/SourceFiles/codegen/numbers/main.cpp new file mode 100644 index 000000000..ac7cddc0c --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/main.cpp @@ -0,0 +1,36 @@ +/* +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 + +#include "codegen/numbers/options.h" +#include "codegen/numbers/processor.h" + +int main(int argc, char *argv[]) { + QCoreApplication app(argc, argv); + + auto options = codegen::numbers::parseOptions(); + if (options.inputPath.isEmpty()) { + return -1; + } + + codegen::numbers::Processor processor(options); + return processor.launch(); +} diff --git a/Telegram/SourceFiles/codegen/numbers/options.cpp b/Telegram/SourceFiles/codegen/numbers/options.cpp new file mode 100644 index 000000000..abf3e776b --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/options.cpp @@ -0,0 +1,74 @@ +/* +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 "codegen/numbers/options.h" + +#include +#include +#include "codegen/common/logging.h" + +namespace codegen { +namespace numbers { +namespace { + +constexpr int kErrorOutputPathExpected = 902; +constexpr int kErrorInputPathExpected = 903; +constexpr int kErrorSingleInputPathExpected = 904; + +} // namespace + +using common::logError; + +Options parseOptions() { + Options result; + auto args(QCoreApplication::instance()->arguments()); + for (int i = 1, count = args.size(); i < count; ++i) { // skip first + const auto &arg(args.at(i)); + + // Output path + if (arg == "-o") { + if (++i == count) { + logError(kErrorOutputPathExpected, "Command Line") << "output path expected after -o"; + return Options(); + } else { + result.outputPath = args.at(i); + } + } else if (arg.startsWith("-o")) { + result.outputPath = arg.mid(2); + + // Input path + } else { + if (result.inputPath.isEmpty()) { + result.inputPath = arg; + } else { + logError(kErrorSingleInputPathExpected, "Command Line") << "only one input path expected"; + return Options(); + } + } + } + if (result.inputPath.isEmpty()) { + logError(kErrorInputPathExpected, "Command Line") << "input path expected"; + return Options(); + } + return result; +} + +} // namespace numbers +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/numbers/options.h b/Telegram/SourceFiles/codegen/numbers/options.h new file mode 100644 index 000000000..b2ed1aae4 --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/options.h @@ -0,0 +1,38 @@ +/* +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 +#include + +namespace codegen { +namespace numbers { + +struct Options { + QString outputPath = "."; + QString inputPath; +}; + +// Parsing failed if inputPath is empty in the result. +Options parseOptions(); + +} // namespace numbers +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp b/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp new file mode 100644 index 000000000..3dc5508af --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp @@ -0,0 +1,66 @@ +/* +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 "codegen/numbers/parsed_file.h" + +#include +#include +#include +#include +#include "codegen/common/basic_tokenized_file.h" +#include "codegen/common/logging.h" + +using BasicToken = codegen::common::BasicTokenizedFile::Token; +using BasicType = BasicToken::Type; + +namespace codegen { +namespace numbers { +namespace { + +} // namespace + +ParsedFile::ParsedFile(const Options &options) +: file_(options.inputPath) +, options_(options) { +} + +bool ParsedFile::read() { + if (!file_.read()) { + return false; + } + + auto filepath = QFileInfo(options_.inputPath).absoluteFilePath(); + do { + if (auto startToken = file_.getToken(BasicType::Name)) { + } + if (file_.atEnd()) { + break; + } + logErrorUnexpectedToken() << "numbers rule"; + } while (!failed()); + + if (failed()) { + result_.data.clear(); + } + return !failed(); +} + +} // namespace numbers +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/numbers/parsed_file.h b/Telegram/SourceFiles/codegen/numbers/parsed_file.h new file mode 100644 index 000000000..7f158b972 --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/parsed_file.h @@ -0,0 +1,74 @@ +/* +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 +#include +#include "codegen/common/basic_tokenized_file.h" +#include "codegen/numbers/options.h" + +namespace codegen { +namespace numbers { + +struct Rule { +}; +struct Rules { + QVector data; +}; + +// Parses an input file to the internal struct. +class ParsedFile { +public: + explicit ParsedFile(const Options &options); + ParsedFile(const ParsedFile &other) = delete; + ParsedFile &operator=(const ParsedFile &other) = delete; + + bool read(); + + Rules getResult() { + return result_; + } + +private: + + bool failed() const { + return failed_ || file_.failed(); + } + + // Log error to std::cerr with 'code' at the current position in file. + common::LogStream logError(int code) { + failed_ = true; + return file_.logError(code); + } + common::LogStream logErrorUnexpectedToken() { + failed_ = true; + return file_.logErrorUnexpectedToken(); + } + + common::BasicTokenizedFile file_; + Options options_; + bool failed_ = false; + Rules result_; + +}; + +} // namespace numbers +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/numbers/processor.cpp b/Telegram/SourceFiles/codegen/numbers/processor.cpp new file mode 100644 index 000000000..e7d0baf3e --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/processor.cpp @@ -0,0 +1,86 @@ +/* +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 "codegen/numbers/processor.h" + +#include +#include +#include "codegen/common/cpp_file.h" +#include "codegen/numbers/parsed_file.h" +#include "codegen/numbers/generator.h" + +namespace codegen { +namespace numbers { +namespace { + +constexpr int kErrorCantWritePath = 851; + +} // namespace + +Processor::Processor(const Options &options) +: parser_(std::make_unique(options)) +, options_(options) { +} + +int Processor::launch() { + if (!parser_->read()) { + return -1; + } + + auto result = parser_->getResult(); + if (!write(result)) { + return -1; + } + + return 0; +} + +bool Processor::write(const Rules &rules) const { + QDir dir(options_.outputPath); + if (!dir.mkpath(".")) { + common::logError(kErrorCantWritePath, "Command Line") << "can not open path for writing: " << dir.absolutePath().toStdString(); + return false; + } + + QFileInfo srcFile(options_.inputPath); + QString dstFilePath = dir.absolutePath() + "/numbers"; + + common::ProjectInfo project = { + "codegen_style", + srcFile.fileName(), + "stdafx.h", + false, // forceReGenerate + }; + + Generator generator(rules, dstFilePath, project); + if (!generator.writeHeader()) { + return false; + } + if (!generator.writeSource()) { + return false; + } + + return true; +} + +Processor::~Processor() = default; + +} // namespace numbers +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/numbers/processor.h b/Telegram/SourceFiles/codegen/numbers/processor.h new file mode 100644 index 000000000..e455e17d4 --- /dev/null +++ b/Telegram/SourceFiles/codegen/numbers/processor.h @@ -0,0 +1,53 @@ +/* +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 +#include +#include "codegen/numbers/options.h" + +namespace codegen { +namespace numbers { +class ParsedFile; +struct Rules; + +// Walks through a file, parses it and generates number formatter. +class Processor { +public: + explicit Processor(const Options &options); + Processor(const Processor &other) = delete; + Processor &operator=(const Processor &other) = delete; + + // Returns 0 on success. + int launch(); + + ~Processor(); + +private: + bool write(const Rules &rules) const; + + std::unique_ptr parser_; + const Options &options_; + +}; + +} // namespace numbers +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/generator.cpp b/Telegram/SourceFiles/codegen/style/generator.cpp index 031b1ae3f..6609ef572 100644 --- a/Telegram/SourceFiles/codegen/style/generator.cpp +++ b/Telegram/SourceFiles/codegen/style/generator.cpp @@ -20,45 +20,533 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "codegen/style/generator.h" -#include +#include +#include +#include #include "codegen/style/parsed_file.h" +using Module = codegen::style::structure::Module; +using Struct = codegen::style::structure::Struct; +using Variable = codegen::style::structure::Variable; +using Tag = codegen::style::structure::TypeTag; + namespace codegen { namespace style { namespace { -} // namespace - -Generator::Generator(const Options &options) -: parser_(std::make_unique(options)) -, options_(options) { - +char hexChar(uchar ch) { + if (ch < 10) { + return '0' + ch; + } else if (ch < 16) { + return 'a' + (ch - 10); + } + return '0'; } -int Generator::process() { - if (!parser_->read()) { - return -1; - } +char hexSecondChar(char ch) { + return hexChar((*reinterpret_cast(&ch)) << 4); +} - const auto &result = parser_->data(); - if (!write(result)) { - return -1; - } - if (options_.rebuildDependencies) { - for (auto included : result.includes) { - if (!write(included)) { - return -1; - } +char hexFirstChar(char ch) { + return hexChar((*reinterpret_cast(&ch)) & 0x0F); +} + +QString stringToEncodedString(const std::string &str) { + QString result; + result.reserve(str.size() * 4); + for (auto ch : str) { + if (ch == '\n') { + result.append("\\n"); + } else if (ch == '\t') { + result.append("\\t"); + } else if (ch == '"' || ch == '\\') { + result.append('\\').append(ch); + } else if (ch < 32 || ch > 127) { + result.append("\\x").append(hexFirstChar(ch)).append(hexSecondChar(ch)); + } else { + result.append(ch); } } - return 0; + return '"' + result + '"'; } -bool Generator::write(const structure::Module &) const { +QString pxValueName(int value) { + QString result = "px"; + if (value < 0) { + value = -value; + result += 'm'; + } + return result + QString::number(value); +} + +} // namespace + +Generator::Generator(const structure::Module &module, const QString &destBasePath, const common::ProjectInfo &project) +: module_(module) +, basePath_(destBasePath) +, baseName_(QFileInfo(basePath_).baseName()) +, project_(project) { +} + +bool Generator::writeHeader() { + header_ = std::make_unique(basePath_ + ".h", project_); + + header_->include("ui/style_core.h").newline(); + + if (!writeHeaderStyleNamespace()) { + return false; + } + if (!writeRefsDeclarations()) { + return false; + } + + return header_->finalize(); +} + +bool Generator::writeSource() { + source_ = std::make_unique(basePath_ + ".cpp", project_); + + writeIncludesInSource(); + + if (module_.hasVariables()) { + source_->pushNamespace().newline(); + source_->stream() << "\ +bool inited = false;\n\ +\n\ +class Module_" << baseName_ << " : public style::internal::ModuleBase {\n\ +public:\n\ + Module_" << baseName_ << "() { style::internal::registerModule(this); }\n\ + ~Module_" << baseName_ << "() { style::internal::unregisterModule(this); }\n\ +\n\ + void start() override {\n\ + style::internal::init_" << baseName_ << "();\n\ + }\n\ + void stop() override {\n\ + }\n\ +};\n\ +Module_" << baseName_ << " registrator;\n"; + if (!writeVariableDefinitions()) { + return false; + } + source_->newline().popNamespace(); + + source_->newline().pushNamespace("st"); + if (!writeRefsDefinition()) { + return false; + } + + source_->popNamespace().newline(); + source_->newline().pushNamespace("style").pushNamespace("internal").newline(); + if (!writeVariableInit()) { + return false; + } + } + + return source_->finalize(); +} + +// Empty result means an error. +QString Generator::typeToString(structure::Type type) const { + switch (type.tag) { + case Tag::Invalid: return QString(); + case Tag::Int: return "int"; + case Tag::Double: return "double"; + case Tag::Pixels: return "int"; + case Tag::String: return "QString"; + case Tag::Color: return "style::color"; + case Tag::Point: return "style::point"; + case Tag::Sprite: return "style::sprite"; + case Tag::Size: return "style::size"; + case Tag::Transition: return "style::transition"; + case Tag::Cursor: return "style::cursor"; + case Tag::Align: return "style::align"; + case Tag::Margins: return "style::margins"; + case Tag::Font: return "style::font"; + case Tag::Struct: return "style::" + type.name.back(); + } + return QString(); +} + +// Empty result means an error. +QString Generator::typeToDefaultValue(structure::Type type) const { + switch (type.tag) { + case Tag::Invalid: return QString(); + case Tag::Int: return "0"; + case Tag::Double: return "0."; + case Tag::Pixels: return "0"; + case Tag::String: return "QString()"; + case Tag::Color: return "{ Qt::Uninitialized }"; + case Tag::Point: return "{ 0, 0 }"; + case Tag::Sprite: return "{ 0, 0, 0, 0 }"; + case Tag::Size: return "{ 0, 0 }"; + case Tag::Transition: return "anim::linear"; + case Tag::Cursor: return "style::cur_default"; + case Tag::Align: return "style::al_topleft"; + case Tag::Margins: return "{ 0, 0, 0, 0 }"; + case Tag::Font: return "{ Qt::Uninitialized }"; + case Tag::Struct: { + if (auto realType = module_.findStruct(type.name)) { + QStringList fields; + for (auto field : realType->fields) { + fields.push_back(typeToDefaultValue(field.type)); + } + return "{ " + fields.join(", ") + " }"; + } + return QString(); + } break; + } + return QString(); +} + +// Empty result means an error. +QString Generator::valueAssignmentCode(structure::Value value) const { + auto copy = value.copyOf(); + if (!copy.isEmpty()) { + return "st::" + copy.back(); + } + + switch (value.type().tag) { + case Tag::Invalid: return QString(); + case Tag::Int: return QString("%1").arg(value.Int()); + case Tag::Double: return QString("%1").arg(value.Double()); + case Tag::Pixels: return pxValueName(value.Int()); + case Tag::String: return QString("qsl(%1)").arg(stringToEncodedString(value.String())); + case Tag::Color: return QString("{ %1, %2, %3, %4 }").arg(value.Color().red).arg(value.Color().green).arg(value.Color().blue).arg(value.Color().alpha); + case Tag::Point: { + auto v(value.Point()); + return QString("{ %1, %2 }").arg(pxValueName(v.x)).arg(pxValueName(v.y)); + } + case Tag::Sprite: { + auto v(value.Sprite()); + return QString("{ %1, %2, %3, %4 }").arg(pxValueName(v.left)).arg(pxValueName(v.top)).arg(pxValueName(v.width)).arg(pxValueName(v.height)); + } + case Tag::Size: { + auto v(value.Size()); + return QString("{ %1, %2 }").arg(pxValueName(v.width)).arg(pxValueName(v.height)); + } + case Tag::Transition: return QString("anim::%1").arg(value.String().c_str()); + case Tag::Cursor: return QString("style::cur_%1").arg(value.String().c_str()); + case Tag::Align: return QString("style::al_%1").arg(value.String().c_str()); + case Tag::Margins: { + auto v(value.Margins()); + return QString("{ %1, %2, %3, %4 }").arg(pxValueName(v.left)).arg(pxValueName(v.top)).arg(pxValueName(v.right)).arg(pxValueName(v.bottom)); + } + case Tag::Font: { + auto v(value.Font()); + QString family = "0"; + if (!v.family.empty()) { + auto familyIndex = fontFamilyValues_.value(v.family, -1); + if (familyIndex < 0) { + return QString(); + } else { + family = QString("font%1index").arg(familyIndex); + } + } + return QString("{ %1, %2, %3 }").arg(pxValueName(v.size)).arg(v.flags).arg(family); + } + case Tag::Struct: { + if (!value.Fields()) return QString(); + + QStringList fields; + for (auto field : *value.Fields()) { + fields.push_back(valueAssignmentCode(field.variable.value)); + } + return "{ " + fields.join(", ") + " }"; + } break; + } + return QString(); +} + +bool Generator::writeHeaderStyleNamespace() { + if (!module_.hasStructs() && !module_.hasVariables()) { + return true; + } + header_->pushNamespace("style"); + + if (module_.hasVariables()) { + header_->pushNamespace("internal").newline(); + header_->stream() << "void init_" << baseName_ << "();\n\n"; + header_->popNamespace(); + } + if (module_.hasStructs()) { + header_->newline(); + if (!writeStructsDefinitions()) { + return false; + } + } + + header_->popNamespace().newline(); return true; } -Generator::~Generator() = default; +bool Generator::writeStructsDefinitions() { + if (!module_.hasStructs()) { + return true; + } + + bool result = module_.enumStructs([this](const Struct &value) -> bool { + header_->stream() << "struct " << value.name.back() << " {\n"; + for (const auto &field : value.fields) { + auto type = typeToString(field.type); + if (type.isEmpty()) { + return false; + } + header_->stream() << "\t" << type << " " << field.name.back() << ";\n"; + } + header_->stream() << "};\n\n"; + return true; + }); + + return result; +} + +bool Generator::writeRefsDeclarations() { + if (!module_.hasVariables()) { + return true; + } + + header_->pushNamespace("st"); + + bool result = module_.enumVariables([this](const Variable &value) -> bool { + auto name = value.name.back(); + auto type = typeToString(value.value.type()); + if (type.isEmpty()) { + return false; + } + + header_->stream() << "extern const " << type << " &" << name << ";\n"; + return true; + }); + + header_->popNamespace(); + + return result; +} + +bool Generator::writeIncludesInSource() { + if (!module_.hasIncludes()) { + return true; + } + + bool result = module_.enumIncludes([this](const Module &module) -> bool { + source_->include("style_" + QFileInfo(module.filepath()).baseName() + ".h"); + return true; + }); + source_->newline(); + return result; +} + +bool Generator::writeVariableDefinitions() { + if (!module_.hasVariables()) { + return true; + } + + source_->newline(); + bool result = module_.enumVariables([this](const Variable &variable) -> bool { + auto name = variable.name.back(); + auto type = typeToString(variable.value.type()); + if (type.isEmpty()) { + return false; + } + source_->stream() << type << " _" << name << " = " << typeToDefaultValue(variable.value.type()) << ";\n"; + return true; + }); + return result; +} + +bool Generator::writeRefsDefinition() { + if (!module_.hasVariables()) { + return true; + } + + source_->newline(); + bool result = module_.enumVariables([this](const Variable &variable) -> bool { + auto name = variable.name.back(); + auto type = typeToString(variable.value.type()); + if (type.isEmpty()) { + return false; + } + source_->stream() << "const " << type << " &" << name << "(_" << name << ");\n"; + return true; + }); + return result; +} + +bool Generator::writeVariableInit() { + if (!module_.hasVariables()) { + return true; + } + + if (!collectUniqueValues()) { + return false; + } + bool hasUniqueValues = (!pxValues_.isEmpty() || !fontFamilyValues_.isEmpty()); + if (hasUniqueValues) { + source_->pushNamespace(); + if (!writePxValues()) { + return false; + } + if (!writeFontFamilyValues()) { + return false; + } + source_->popNamespace().newline(); + } + + source_->stream() << "\ +void init_" << baseName_ << "() {\n\ + if (inited) return;\n\ + inited = true;\n\n"; + + if (module_.hasIncludes()) { + bool writtenAtLeastOne = false; + bool result = module_.enumIncludes([this,&writtenAtLeastOne](const Module &module) -> bool { + if (module.hasVariables()) { + source_->stream() << "\tinit_style_" + QFileInfo(module.filepath()).baseName() + "();\n"; + writtenAtLeastOne = true; + } + return true; + }); + if (!result) { + return false; + } + if (writtenAtLeastOne) { + source_->newline(); + } + } + + if (hasUniqueValues) { + if (!pxValues_.isEmpty()) { + source_->stream() << "\tinitPxValues();\n"; + } + if (!fontFamilyValues_.isEmpty()) { + source_->stream() << "\tinitFontFamilyValues();\n"; + } + source_->newline(); + } + + bool result = module_.enumVariables([this](const Variable &variable) -> bool { + auto name = variable.name.back(); + auto value = valueAssignmentCode(variable.value); + if (value.isEmpty()) { + return false; + } + source_->stream() << "\t_" << name << " = " << value << ";\n"; + return true; + }); + source_->stream() << "\ +}\n\n"; + return result; +} + +bool Generator::writePxValues() { + if (pxValues_.isEmpty()) { + return true; + } + + for (auto i = pxValues_.cbegin(), e = pxValues_.cend(); i != e; ++i) { + source_->stream() << "int " << pxValueName(i.key()) << " = " << i.key() << ";\n"; + } + source_->stream() << "\ +void initPxValues() {\n\ + if (cRetina()) return;\n\ +\n\ + switch (cScale()) {\n"; + for (int i = 1, scalesCount = scales.size(); i < scalesCount; ++i) { + source_->stream() << "\tcase " << scaleNames.at(i) << ":\n"; + for (auto it = pxValues_.cbegin(), e = pxValues_.cend(); it != e; ++it) { + auto value = it.key(); + int adjusted = structure::data::pxAdjust(value, scales.at(i)); + if (adjusted != value) { + source_->stream() << "\t\t" << pxValueName(value) << " = " << adjusted << ";\n"; + } + } + source_->stream() << "\tbreak;\n"; + } + source_->stream() << "\ + }\n\ +}\n\n"; + return true; +} + +bool Generator::writeFontFamilyValues() { + if (fontFamilyValues_.isEmpty()) { + return true; + } + + for (auto i = fontFamilyValues_.cbegin(), e = fontFamilyValues_.cend(); i != e; ++i) { + source_->stream() << "int font" << i.value() << "index;\n"; + } + source_->stream() << "void initFontFamilyValues() {\n"; + for (auto i = fontFamilyValues_.cbegin(), e = fontFamilyValues_.cend(); i != e; ++i) { + auto family = stringToEncodedString(i.key()); + source_->stream() << "\tfont" << i.value() << "index = style::internal::registerFontFamily(" << family << ");\n"; + } + source_->stream() << "}\n\n"; + return true; +} + +bool Generator::collectUniqueValues() { + int fontFamilyIndex = 0; + std::function collector = [this, &collector, &fontFamilyIndex](const Variable &variable) { + auto value = variable.value; + switch (value.type().tag) { + case Tag::Invalid: + case Tag::Int: + case Tag::Double: + case Tag::String: + case Tag::Color: + case Tag::Transition: + case Tag::Cursor: + case Tag::Align: break; + case Tag::Pixels: pxValues_.insert(value.Int(), true); break; + case Tag::Point: { + auto v(value.Point()); + pxValues_.insert(v.x, true); + pxValues_.insert(v.y, true); + } break; + case Tag::Sprite: { + auto v(value.Sprite()); + pxValues_.insert(v.left, true); + pxValues_.insert(v.top, true); + pxValues_.insert(v.width, true); + pxValues_.insert(v.height, true); + } break; + case Tag::Size: { + auto v(value.Size()); + pxValues_.insert(v.width, true); + pxValues_.insert(v.height, true); + } break; + case Tag::Margins: { + auto v(value.Margins()); + pxValues_.insert(v.left, true); + pxValues_.insert(v.top, true); + pxValues_.insert(v.right, true); + pxValues_.insert(v.bottom, true); + } break; + case Tag::Font: { + auto v(value.Font()); + pxValues_.insert(v.size, true); + if (!v.family.empty() && !fontFamilyValues_.contains(v.family)) { + fontFamilyValues_.insert(v.family, ++fontFamilyIndex); + } + } break; + case Tag::Struct: { + auto fields = variable.value.Fields(); + if (!fields) { + return false; + } + + for (auto field : *fields) { + if (!collector(field.variable)) { + return false; + } + } + } break; + } + return true; + }; + return module_.enumVariables(collector); +} } // namespace style } // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/generator.h b/Telegram/SourceFiles/codegen/style/generator.h index 526a70912..b97460360 100644 --- a/Telegram/SourceFiles/codegen/style/generator.h +++ b/Telegram/SourceFiles/codegen/style/generator.h @@ -22,36 +22,53 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include -#include "codegen/style/options.h" +#include +#include "codegen/common/cpp_file.h" +#include "codegen/style/structure_types.h" namespace codegen { namespace style { namespace structure { -struct Module; +class Module; } // namespace structure -class ParsedFile; -// Walks through a file, parses it and parses dependency files if necessary. class Generator { public: - Generator(const Options &options); + Generator(const structure::Module &module, const QString &destBasePath, const common::ProjectInfo &project); Generator(const Generator &other) = delete; Generator &operator=(const Generator &other) = delete; - // Returns 0 on success. - int process(); - - ~Generator(); + bool writeHeader(); + bool writeSource(); private: - bool write(const structure::Module &module) const; + QString typeToString(structure::Type type) const; + QString typeToDefaultValue(structure::Type type) const; + QString valueAssignmentCode(structure::Value value) const; - std::unique_ptr parser_; - const Options &options_; + bool writeHeaderStyleNamespace(); + bool writeStructsDefinitions(); + bool writeRefsDeclarations(); - // List of files we need to generate with other instance of Generator. - // It is not empty only if rebuild_ flag is true. - QStringList dependenciesToGenerate_; + bool writeIncludesInSource(); + bool writeVariableDefinitions(); + bool writeRefsDefinition(); + bool writeVariableInit(); + bool writePxValues(); + bool writeFontFamilyValues(); + + bool collectUniqueValues(); + + const structure::Module &module_; + QString basePath_, baseName_; + const common::ProjectInfo &project_; + std::unique_ptr source_, header_; + + QMap pxValues_; + QMap fontFamilyValues_; + + std::vector scales = { 4, 5, 6, 8 }; // scale / 4 gives our 1.00, 1.25, 1.50, 2.00 + std::vectorscaleNames = { "dbisOne", "dbisOneAndQuarter", "dbisOneAndHalf", "dbisTwo" }; }; diff --git a/Telegram/SourceFiles/codegen/style/main.cpp b/Telegram/SourceFiles/codegen/style/main.cpp index b61d9ce11..b4e8ab217 100644 --- a/Telegram/SourceFiles/codegen/style/main.cpp +++ b/Telegram/SourceFiles/codegen/style/main.cpp @@ -19,21 +19,18 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include -#include -#include "codegen/style/generator.h" #include "codegen/style/options.h" - -using namespace codegen::style; +#include "codegen/style/processor.h" int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); - Options options = parseOptions(); + auto options = codegen::style::parseOptions(); if (options.inputPath.isEmpty()) { return -1; } - Generator generator(options); - return generator.process(); + codegen::style::Processor processor(options); + return processor.launch(); } diff --git a/Telegram/SourceFiles/codegen/style/module.cpp b/Telegram/SourceFiles/codegen/style/module.cpp new file mode 100644 index 000000000..d11d4cdd0 --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/module.cpp @@ -0,0 +1,101 @@ +/* +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 "codegen/style/module.h" + +namespace codegen { +namespace style { +namespace structure { +namespace { + +QString fullNameKey(const FullName &name) { + return name.join('.'); +} + +} // namespace + +Module::Module(const QString &fullpath) : fullpath_(fullpath) { +} + +void Module::addIncluded(std::unique_ptr &&value) { + included_.push_back(std::move(value)); +} + +bool Module::addStruct(const Struct &value) { + if (findStruct(value.name)) { + return false; + } + structsByName_.insert(fullNameKey(value.name), structs_.size()); + structs_.push_back(value); + return true; +} + +const Struct *Module::findStruct(const FullName &name) const { + if (auto result = findStructInModule(name, *this)) { + return result; + } + for (const auto &module : included_) { + if (auto result = findStructInModule(name, *module)) { + return result; + } + } + return nullptr; +} + +bool Module::addVariable(const Variable &value) { + if (findVariable(value.name)) { + return false; + } + variablesByName_.insert(fullNameKey(value.name), variables_.size()); + variables_.push_back(value); + return true; +} + +const Variable *Module::findVariable(const FullName &name) const { + if (auto result = findVariableInModule(name, *this)) { + return result; + } + for (const auto &module : included_) { + if (auto result = findVariableInModule(name, *module)) { + return result; + } + } + return nullptr; +} + +const Struct *Module::findStructInModule(const FullName &name, const Module &module) const { + auto index = module.structsByName_.value(fullNameKey(name), -1); + if (index < 0) { + return nullptr; + } + return &module.structs_.at(index); +} + +const Variable *Module::findVariableInModule(const FullName &name, const Module &module) const { + auto index = module.variablesByName_.value(fullNameKey(name), -1); + if (index < 0) { + return nullptr; + } + return &module.variables_.at(index); +} + +} // namespace structure +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/module.h b/Telegram/SourceFiles/codegen/style/module.h new file mode 100644 index 000000000..a890fd7dd --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/module.h @@ -0,0 +1,112 @@ +/* +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 +#include +#include +#include +#include "codegen/style/structure_types.h" + +namespace codegen { +namespace style { +namespace structure { + +class Module { +public: + + explicit Module(const QString &fullpath); + + QString filepath() const { + return fullpath_; + } + + void addIncluded(std::unique_ptr &&value); + + bool hasIncludes() const { + return !included_.empty(); + } + template + bool enumIncludes(F functor) const { + for (const auto &module : included_) { + if (!functor(*module)) { + return false; + } + } + return true; + } + + // Returns false if there is a struct with such name already. + bool addStruct(const Struct &value); + // Returns nullptr if there is no such struct in result_ or any of included modules. + const Struct *findStruct(const FullName &name) const; + bool hasStructs() const { + return !structs_.isEmpty(); + } + + template + bool enumStructs(F functor) const { + for (const auto &value : structs_) { + if (!functor(value)) { + return false; + } + } + return true; + } + + // Returns false if there is a variable with such name already. + bool addVariable(const Variable &value); + // Returns nullptr if there is no such variable in result_ or any of included modules. + const Variable *findVariable(const FullName &name) const; + bool hasVariables() const { + return !variables_.isEmpty(); + } + + template + bool enumVariables(F functor) const { + for (const auto &value : variables_) { + if (!functor(value)) { + return false; + } + } + return true; + } + + explicit operator bool() const { + return !fullpath_.isEmpty(); + } + +private: + QString fullpath_; + std::vector> included_; + QList structs_; + QList variables_; + QMap structsByName_; + QMap variablesByName_; + + const Struct *findStructInModule(const FullName &name, const Module &module) const; + const Variable *findVariableInModule(const FullName &name, const Module &module) const; + +}; + +} // namespace structure +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.cpp b/Telegram/SourceFiles/codegen/style/parsed_file.cpp index f5f7e2d66..037b7732a 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.cpp +++ b/Telegram/SourceFiles/codegen/style/parsed_file.cpp @@ -32,6 +32,9 @@ using BasicType = BasicToken::Type; namespace codegen { namespace style { + +using structure::logFullName; + namespace { constexpr int kErrorInIncluded = 801; @@ -65,7 +68,7 @@ bool isValidColor(const QString &str) { uchar readHexUchar(QChar ch) { auto code = ch.unicode(); - return (code >= '0' && code <= '9') ? ((code - '0') & 0xFF) : ((code - 'a') & 0xFF); + return (code >= '0' && code <= '9') ? ((code - '0') & 0xFF) : ((code + 10 - 'a') & 0xFF); } uchar readHexUchar(QChar char1, QChar char2) { @@ -95,10 +98,6 @@ structure::data::color convertIntColor(int r, int g, int b, int a) { return { uchar(r & 0xFF), uchar(g & 0xFF), uchar(b & 0xFF), uchar(a & 0xFF) }; } -std::string logFullName(const structure::FullName &name) { - return name.join('.').toStdString(); -} - std::string logType(const structure::Type &type) { if (type.tag == structure::TypeTag::Struct) { return "struct " + logFullName(type.name); @@ -121,10 +120,6 @@ std::string logType(const structure::Type &type) { return builtInTypes->value(type.tag, "invalid"); } -QString fullNameKey(const structure::FullName &name) { - return name.join('.'); -} - bool validateAnsiString(const QString &value) { for (auto ch : value) { if (ch.unicode() > 127) { @@ -158,67 +153,61 @@ bool ParsedFile::read() { return false; } - bool noErrors = false; + auto filepath = QFileInfo(options_.inputPath).absoluteFilePath(); + module_ = std::make_unique(filepath); do { if (auto startToken = file_.getToken(BasicType::Name)) { if (tokenValue(startToken) == "using") { if (auto includedResult = readIncluded()) { - result_.includes.push_back(includedResult); + module_->addIncluded(std::move(includedResult)); continue; } } else if (auto braceOpen = file_.getToken(BasicType::LeftBrace)) { if (auto structResult = readStruct(tokenValue(startToken))) { - if (findStruct(structResult.name)) { - logError(kErrorAlreadyDefined) << "struct '" << logFullName(structResult.name) << "' already defined"; - break; + if (module_->addStruct(structResult)) { + continue; } - result_.structsByName.insert(fullNameKey(structResult.name), result_.structs.size()); - result_.structs.push_back(structResult); - continue; + logError(kErrorAlreadyDefined) << "struct '" << logFullName(structResult.name) << "' already defined"; + break; } } else if (auto colonToken = file_.getToken(BasicType::Colon)) { if (auto variableResult = readVariable(tokenValue(startToken))) { - if (findVariable(variableResult.name)) { - logError(kErrorAlreadyDefined) << "variable '" << logFullName(variableResult.name) << "' already defined"; - break; + if (module_->addVariable(variableResult)) { + continue; } - result_.variablesByName.insert(fullNameKey(variableResult.name), result_.variables.size()); - result_.variables.push_back(variableResult); - continue; + logError(kErrorAlreadyDefined) << "variable '" << logFullName(variableResult.name) << "' already defined"; + break; } } } - if (!file_.atEnd()) { - logErrorUnexpectedToken() << "using keyword, or struct definition, or variable definition"; - } else { - noErrors = !failed(); + if (file_.atEnd()) { break; } + logErrorUnexpectedToken() << "using keyword, or struct definition, or variable definition"; } while (!failed()); - if (noErrors) { - result_.fullpath = QFileInfo(options_.inputPath).absoluteFilePath(); + if (failed()) { + module_ = nullptr; } - return noErrors; + return !failed(); } common::LogStream ParsedFile::logErrorTypeMismatch() { return logError(kErrorTypeMismatch) << "type mismatch: "; } -structure::Module ParsedFile::readIncluded() { - structure::Module result; +ParsedFile::ModulePtr ParsedFile::readIncluded() { if (auto usingFile = assertNextToken(BasicType::String)) { if (assertNextToken(BasicType::Semicolon)) { ParsedFile included(includedOptions(tokenValue(usingFile))); if (included.read()) { - result = included.data(); + return included.getResult(); } else { logError(kErrorInIncluded) << "error while parsing '" << tokenValue(usingFile).toStdString() << "'"; } } } - return result; + return nullptr; } structure::Struct ParsedFile::readStruct(const QString &name) { @@ -268,7 +257,7 @@ structure::Type ParsedFile::readType() { result = builtInType; } else { auto fullName = composeFullName(name); - if (findStruct(fullName)) { + if (module_->findStruct(fullName)) { result.tag = structure::TypeTag::Struct; result.name = fullName; } else { @@ -331,11 +320,17 @@ structure::Value ParsedFile::readStructValue() { } structure::Value ParsedFile::defaultConstructedStruct(const structure::FullName &structName) { - if (auto pattern = findStruct(structName)) { - QList fields; + if (auto pattern = module_->findStruct(structName)) { + QList fields; fields.reserve(pattern->fields.size()); for (const auto &fieldType : pattern->fields) { - fields.push_back({ fieldType.name, { fieldType.type, Qt::Uninitialized } }); + fields.push_back({ + { // variable + fieldType.name, + { fieldType.type, Qt::Uninitialized }, // value + }, + structure::data::field::Status::Uninitialized, // status + }); } return { structName, fields }; } @@ -343,14 +338,14 @@ structure::Value ParsedFile::defaultConstructedStruct(const structure::FullName } void ParsedFile::applyStructParent(structure::Value &result, const structure::FullName &parentName) { - if (auto parent = findVariable(parentName)) { + if (auto parent = module_->findVariable(parentName)) { if (parent->value.type() != result.type()) { logErrorTypeMismatch() << "parent '" << logFullName(parentName) << "' has type '" << logType(parent->value.type()) << "' while child value has type " << logType(result.type()); return; } - const auto *srcFields(parent->value.Complex()); - auto *dstFields(result.Complex()); + const auto *srcFields(parent->value.Fields()); + auto *dstFields(result.Fields()); if (!srcFields || !dstFields) { logAssert(false) << "struct data check failed"; return; @@ -358,10 +353,17 @@ void ParsedFile::applyStructParent(structure::Value &result, const structure::Fu logAssert(srcFields->size() == dstFields->size()) << "struct size check failed"; for (int i = 0, s = srcFields->size(); i != s; ++i) { - const auto &srcValue(srcFields->at(i).value); - auto &dstValue((*dstFields)[i].value); - logAssert(srcValue.type() == dstValue.type()) << "struct field type check failed"; - dstValue = srcValue; + const auto &srcField(srcFields->at(i)); + auto &dstField((*dstFields)[i]); + using Status = structure::data::field::Status; + if (srcField.status == Status::Explicit || + dstField.status == Status::Uninitialized) { + const auto &srcValue(srcField.variable.value); + auto &dstValue(dstField.variable.value); + logAssert(srcValue.type() == dstValue.type()) << "struct field type check failed"; + dstValue = srcValue; + dstField.status = Status::Implicit; + } } } else { logError(kErrorIdentifierNotFound) << "parent '" << logFullName(parentName) << "' not found"; @@ -388,18 +390,19 @@ bool ParsedFile::readStructValueInner(structure::Value &result) { } bool ParsedFile::assignStructField(structure::Value &result, const structure::Variable &field) { - auto *fields = result.Complex(); + auto *fields = result.Fields(); if (!fields) { logAssert(false) << "struct data check failed"; return false; } for (auto &already : *fields) { - if (already.name == field.name) { - if (already.value.type() == field.value.type()) { - already.value = field.value; + if (already.variable.name == field.name) { + if (already.variable.value.type() == field.value.type()) { + already.variable.value = field.value; + already.status = structure::data::field::Status::Explicit; return true; } else { - logErrorTypeMismatch() << "field '" << logFullName(already.name) << "' has type '" << logType(already.value.type()) << "' while value has type '" << logType(field.value.type()) << "'"; + logErrorTypeMismatch() << "field '" << logFullName(already.variable.name) << "' has type '" << logType(already.variable.value.type()) << "' while value has type '" << logType(field.value.type()) << "'"; return false; } } @@ -429,7 +432,7 @@ structure::Value ParsedFile::readPositiveValue() { if (numericToken.type == BasicType::Int) { return { structure::TypeTag::Int, tokenValue(numericToken).toInt() }; } else if (numericToken.type == BasicType::Double) { - return { tokenValue(numericToken).toDouble() }; + return { structure::TypeTag::Double, tokenValue(numericToken).toDouble() }; } else if (numericToken.type == BasicType::Name) { auto value = tokenValue(numericToken); auto match = QRegularExpression("^\\d+px$").match(value); @@ -717,7 +720,7 @@ structure::Value ParsedFile::readFontValue() { structure::Value ParsedFile::readCopyValue() { if (auto copyName = file_.getToken(BasicType::Name)) { structure::FullName name = { tokenValue(copyName) }; - if (auto variable = findVariable(name)) { + if (auto variable = module_->findVariable(name)) { return variable->value.makeCopy(variable->name); } logError(kErrorIdentifierNotFound) << "identifier '" << logFullName(name) << "' not found"; @@ -725,48 +728,6 @@ structure::Value ParsedFile::readCopyValue() { return {}; } -// Returns nullptr if there is no such struct in result_ or any of included modules. -const structure::Struct *ParsedFile::findStruct(const structure::FullName &name) { - if (auto result = findStructInModule(name, result_)) { - return result; - } - for (const auto &included : result_.includes) { - if (auto result = findStructInModule(name, included)) { - return result; - } - } - return nullptr; -} - -const structure::Struct *ParsedFile::findStructInModule(const structure::FullName &name, const structure::Module &module) { - auto index = module.structsByName.value(fullNameKey(name), -1); - if (index < 0) { - return nullptr; - } - return &module.structs.at(index); -} - -// Returns nullptr if there is no such variable in result_ or any of included modules. -const structure::Variable *ParsedFile::findVariable(const structure::FullName &name) { - if (auto result = findVariableInModule(name, result_)) { - return result; - } - for (const auto &included : result_.includes) { - if (auto result = findVariableInModule(name, included)) { - return result; - } - } - return nullptr; -} - -const structure::Variable *ParsedFile::findVariableInModule(const structure::FullName &name, const structure::Module &module) { - auto index = module.variablesByName.value(fullNameKey(name), -1); - if (index < 0) { - return nullptr; - } - return &module.variables.at(index); -} - BasicToken ParsedFile::assertNextToken(BasicToken::Type type) { auto result = file_.getToken(type); if (!result) { diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.h b/Telegram/SourceFiles/codegen/style/parsed_file.h index 6106d728a..f98b41c7c 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.h +++ b/Telegram/SourceFiles/codegen/style/parsed_file.h @@ -24,7 +24,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include "codegen/common/basic_tokenized_file.h" #include "codegen/style/options.h" -#include "codegen/style/structure.h" +#include "codegen/style/module.h" namespace codegen { namespace style { @@ -32,14 +32,15 @@ namespace style { // Parses an input file to the internal struct. class ParsedFile { public: - ParsedFile(const Options &options); + explicit ParsedFile(const Options &options); ParsedFile(const ParsedFile &other) = delete; ParsedFile &operator=(const ParsedFile &other) = delete; bool read(); - const structure::Module &data() const { - return result_; + using ModulePtr = std::unique_ptr; + ModulePtr getResult() { + return std::move(module_); } private: @@ -66,7 +67,7 @@ private: } // Helper methods for context-dependent reading. - structure::Module readIncluded(); + ModulePtr readIncluded(); structure::Struct readStruct(const QString &name); structure::Variable readVariable(const QString &name); @@ -96,14 +97,6 @@ private: structure::Value readFontValue(); structure::Value readCopyValue(); - // Returns nullptr if there is no such struct in result_ or any of included modules. - const structure::Struct *findStruct(const structure::FullName &name); - const structure::Struct *findStructInModule(const structure::FullName &name, const structure::Module &module); - - // Returns nullptr if there is no such variable in result_ or any of included modules. - const structure::Variable *findVariable(const structure::FullName &name); - const structure::Variable *findVariableInModule(const structure::FullName &name, const structure::Module &module); - // Read next token and fire unexpected token error if it is not of "type". using BasicToken = common::BasicTokenizedFile::Token; BasicToken assertNextToken(BasicToken::Type type); @@ -117,7 +110,7 @@ private: common::BasicTokenizedFile file_; Options options_; bool failed_ = false; - structure::Module result_; + ModulePtr module_; QMap typeNames_ = { { "int" , { structure::TypeTag::Int } }, diff --git a/Telegram/SourceFiles/codegen/style/processor.cpp b/Telegram/SourceFiles/codegen/style/processor.cpp new file mode 100644 index 000000000..77c241b14 --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/processor.cpp @@ -0,0 +1,103 @@ +/* +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 "codegen/style/processor.h" + +#include +#include +#include "codegen/common/cpp_file.h" +#include "codegen/style/parsed_file.h" +#include "codegen/style/generator.h" +#include "codegen/style/sprite_generator.h" + +namespace codegen { +namespace style { +namespace { + +constexpr int kErrorCantWritePath = 851; + +QString destFileBaseName(const structure::Module &module) { + return "style_" + QFileInfo(module.filepath()).baseName(); +} + +} // namespace + +Processor::Processor(const Options &options) +: parser_(std::make_unique(options)) +, options_(options) { +} + +int Processor::launch() { + if (!parser_->read()) { + return -1; + } + + auto module = parser_->getResult(); + if (options_.rebuildDependencies) { + bool result = module->enumIncludes([this](const structure::Module &included) -> bool { + return write(included); + }); + if (!result) { + return -1; + } + } else if (!write(*module)) { + return -1; + } + + return 0; +} + +bool Processor::write(const structure::Module &module) const { + QDir dir(options_.outputPath); + if (!dir.mkpath(".")) { + common::logError(kErrorCantWritePath, "Command Line") << "can not open path for writing: " << dir.absolutePath().toStdString(); + return false; + } + + QFileInfo srcFile(module.filepath()); + QString dstFilePath = dir.absolutePath() + '/' + destFileBaseName(module); + + common::ProjectInfo project = { + "codegen_style", + srcFile.fileName(), + "stdafx.h", + !options_.rebuildDependencies, // forceReGenerate + }; + + SpriteGenerator spriteGenerator(module); + if (!spriteGenerator.writeSprites()) { + return false; + } + + Generator generator(module, dstFilePath, project); + if (!generator.writeHeader()) { + return false; + } + if (!generator.writeSource()) { + return false; + } + + return true; +} + +Processor::~Processor() = default; + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/processor.h b/Telegram/SourceFiles/codegen/style/processor.h new file mode 100644 index 000000000..d2c2cbd55 --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/processor.h @@ -0,0 +1,60 @@ +/* +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 +#include +#include "codegen/style/options.h" + +namespace codegen { +namespace style { +namespace structure { +class Module; +} // namespace structure +class ParsedFile; + +// Walks through a file, parses it and parses dependency files if necessary. +// Uses Generator class to produce the final output. +class Processor { +public: + explicit Processor(const Options &options); + Processor(const Processor &other) = delete; + Processor &operator=(const Processor &other) = delete; + + // Returns 0 on success. + int launch(); + + ~Processor(); + +private: + bool write(const structure::Module &module) const; + + std::unique_ptr parser_; + const Options &options_; + + // List of files we need to generate with other instance of Generator. + // It is not empty only if rebuild_ flag is true. + QStringList dependenciesToGenerate_; + +}; + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/sprite_generator.cpp b/Telegram/SourceFiles/codegen/style/sprite_generator.cpp new file mode 100644 index 000000000..34a6e948a --- /dev/null +++ b/Telegram/SourceFiles/codegen/style/sprite_generator.cpp @@ -0,0 +1,180 @@ +/* +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 "codegen/style/sprite_generator.h" + +#include +#include +#include +#include +#include +#include +#include "codegen/style/parsed_file.h" + +using Module = codegen::style::structure::Module; +using Struct = codegen::style::structure::Struct; +using Variable = codegen::style::structure::Variable; +using Tag = codegen::style::structure::TypeTag; + +namespace codegen { +namespace style { + +using structure::logFullName; + +namespace { + +constexpr int kErrorFileNotFound = 881; +constexpr int kErrorSpritesIntersect = 882; +constexpr int kErrorCouldNotGenerate = 886; +constexpr int kErrorCouldNotSerialize = 886; +constexpr int kErrorCouldNotOpen = 886; +constexpr int kErrorCouldNotWrite = 886; + +} // namespace + +SpriteGenerator::SpriteGenerator(const structure::Module &module) +: module_(module) +, basePath_(QFileInfo(module.filepath()).dir().absolutePath()) { +} + +bool SpriteGenerator::writeSprites() { + if (!collectSprites()) { + return false; + } + if (sprites_.isEmpty()) { + return true; + } + + sprite2x_ = QImage(basePath_ + "/art/sprite_200x.png"); + if (sprite2x_.isNull()) { + common::logError(kErrorFileNotFound, "/art/sprite_200x.png") << "sprite file was not found"; + return false; + } + std::vector sizes = { 5, 6 }; + std::vector postfixes = { "125", "150" }; + for (int i = 0, l = sizes.size(); i < l; ++i) { + auto sprite = generateSprite(sizes[i]); + QString filepath = basePath_ + "/art/sprite_" + postfixes[i] + "x.png"; + if (sprite.isNull()) { + common::logError(kErrorCouldNotGenerate, filepath) << "could not generate sprite file"; + return false; + } + QByteArray spriteData; + { + QBuffer spriteBuffer(&spriteData); + if (!sprite.save(&spriteBuffer, "PNG")) { + common::logError(kErrorCouldNotSerialize, filepath) << "could not serialize sprite file"; + return false; + } + } + QFile file(filepath); + if (file.open(QIODevice::ReadOnly)) { + if (file.readAll() == spriteData) { + continue; + } + file.close(); + } + if (!file.open(QIODevice::WriteOnly)) { + common::logError(kErrorCouldNotOpen, filepath) << "could not open sprite file for write"; + return false; + } + if (file.write(spriteData) != spriteData.size()) { + common::logError(kErrorCouldNotWrite, filepath) << "could not write sprite file"; + return false; + } + + // Touch resource file. + filepath = basePath_ + "/telegram.qrc"; + QFile qrc(filepath); + if (qrc.open(QIODevice::ReadOnly)) { + auto qrcContent = qrc.readAll(); + qrc.close(); + if (!qrc.open(QIODevice::WriteOnly)) { + common::logError(kErrorCouldNotOpen, filepath) << "could not open .qrc file for write"; + return false; + } + if (qrc.write(qrcContent) != qrcContent.size()) { + common::logError(kErrorCouldNotWrite, filepath) << "could not write .qrc file"; + return false; + } + } + } + + return true; +} + +bool SpriteGenerator::collectSprites() { + std::function collector = [this, &collector](const Variable &variable) { + auto value = variable.value; + if (value.type().tag == Tag::Sprite) { + auto v(value.Sprite()); + if (!v.width || !v.height) return true; + + QRect vRect(v.left, v.top, v.width, v.height); + bool found = false; + for (auto var : sprites_) { + auto sprite = var.value.Sprite(); + QRect spriteRect(sprite.left, sprite.top, sprite.width, sprite.height); + if (spriteRect == vRect) { + found = true; + } else if (spriteRect.intersects(vRect)) { + common::logError(kErrorSpritesIntersect, module_.filepath()) << "sprite '" << logFullName(variable.name) << "' intersects with '" << logFullName(var.name) << "'"; + return false; + } + } + if (!found) { + sprites_.push_back(variable); + } + } else if (value.type().tag == Tag::Struct) { + auto fields = variable.value.Fields(); + if (!fields) { + return false; + } + + for (auto field : *fields) { + if (!collector(field.variable)) { + return false; + } + } + } + return true; + }; + return module_.enumVariables(collector); +} + +QImage SpriteGenerator::generateSprite(int scale) { + auto convert = [scale](int value) -> int { return structure::data::pxAdjust(value, scale); }; + QImage result(convert(sprite2x_.width() / 2), convert(sprite2x_.height() / 2), sprite2x_.format()); + { + QPainter p(&result); + p.setCompositionMode(QPainter::CompositionMode_Source); + p.fillRect(0, 0, result.width(), result.height(), QColor(0, 0, 0, 0)); + for (auto variable : sprites_) { + auto sprite = variable.value.Sprite(); + auto copy = sprite2x_.copy(sprite.left * 2, sprite.top * 2, sprite.width * 2, sprite.height * 2); + copy = copy.scaled(convert(sprite.width), convert(sprite.height), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + p.drawImage(convert(sprite.left), convert(sprite.top), copy); + } + } + return result; +} + +} // namespace style +} // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/structure.h b/Telegram/SourceFiles/codegen/style/sprite_generator.h similarity index 62% rename from Telegram/SourceFiles/codegen/style/structure.h rename to Telegram/SourceFiles/codegen/style/sprite_generator.h index 8f29350b4..832a71984 100644 --- a/Telegram/SourceFiles/codegen/style/structure.h +++ b/Telegram/SourceFiles/codegen/style/sprite_generator.h @@ -20,55 +20,37 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #pragma once +#include #include -#include -#include +#include +#include #include "codegen/style/structure_types.h" namespace codegen { namespace style { namespace structure { - -struct Variable { - FullName name; - Value value; - - explicit operator bool() const { - return !name.isEmpty(); - } -}; - -struct StructField { - FullName name; - Type type; - - explicit operator bool() const { - return !name.isEmpty(); - } -}; - -struct Struct { - FullName name; - QList fields; - - explicit operator bool() const { - return !name.isEmpty(); - } -}; - -struct Module { - QString fullpath; - QList includes; - QList structs; - QList variables; - QMap structsByName; - QMap variablesByName; - - explicit operator bool() const { - return !fullpath.isEmpty(); - } -}; - +class Module; } // namespace structure + +class SpriteGenerator { +public: + SpriteGenerator(const structure::Module &module); + SpriteGenerator(const SpriteGenerator &other) = delete; + SpriteGenerator &operator=(const SpriteGenerator &other) = delete; + + bool writeSprites(); + +private: + + bool collectSprites(); + QImage generateSprite(int scale); // scale = 5 for 125% and 6 for 150%. + + const structure::Module &module_; + QString basePath_; + QImage sprite2x_; + QList sprites_; + +}; + } // namespace style } // namespace codegen diff --git a/Telegram/SourceFiles/codegen/style/structure_types.cpp b/Telegram/SourceFiles/codegen/style/structure_types.cpp index 15a973efd..0cb47e23e 100644 --- a/Telegram/SourceFiles/codegen/style/structure_types.cpp +++ b/Telegram/SourceFiles/codegen/style/structure_types.cpp @@ -20,8 +20,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "codegen/style/structure_types.h" -#include "codegen/style/structure.h" - namespace codegen { namespace style { namespace structure { @@ -117,15 +115,15 @@ struct Value::DataTypes { data::font value_; }; - class TComplex : public DataBase { + class TFields : public DataBase { public: - TComplex(data::complex value) : value_(value) { + TFields(data::fields value) : value_(value) { } - const data::complex *Complex() const override { return &value_; } - data::complex *Complex() override { return &value_; } + const data::fields *Fields() const override { return &value_; } + data::fields *Fields() override { return &value_; } private: - data::complex value_; + data::fields value_; }; }; @@ -133,9 +131,6 @@ struct Value::DataTypes { Value::Value() : Value(TypeTag::Invalid, std::make_shared()) { } -Value::Value(double value) : Value(TypeTag::Double, std::make_shared(value)) { -} - Value::Value(data::point value) : Value(TypeTag::Point, std::make_shared(value)) { } @@ -154,9 +149,16 @@ Value::Value(data::margins value) : Value(TypeTag::Margins, std::make_shared(value)) { } -Value::Value(const FullName &type, data::complex value) +Value::Value(const FullName &type, data::fields value) : type_ { TypeTag::Struct, type } -, data_(std::make_shared(value)) { +, data_(std::make_shared(value)) { +} + +Value::Value(TypeTag type, double value) : Value(type, std::make_shared(value)) { + if (type_.tag != TypeTag::Double) { + type_.tag = TypeTag::Invalid; + data_ = std::make_shared(); + } } Value::Value(TypeTag type, int value) : Value(type, std::make_shared(value)) { @@ -189,10 +191,10 @@ Value::Value(Type type, Qt::Initialization) : type_(type) { case TypeTag::Size: data_ = std::make_shared(data::size { 0, 0 }); break; case TypeTag::Transition: data_ = std::make_shared("linear"); break; case TypeTag::Cursor: data_ = std::make_shared("default"); break; - case TypeTag::Align: data_ = std::make_shared("left"); break; + case TypeTag::Align: data_ = std::make_shared("topleft"); break; case TypeTag::Margins: data_ = std::make_shared(data::margins { 0, 0, 0, 0 }); break; case TypeTag::Font: data_ = std::make_shared(data::font { "", 13, 0 }); break; - case TypeTag::Struct: data_ = std::make_shared(data::complex {}); break; + case TypeTag::Struct: data_ = std::make_shared(data::fields {}); break; } } diff --git a/Telegram/SourceFiles/codegen/style/structure_types.h b/Telegram/SourceFiles/codegen/style/structure_types.h index 2e2703b3c..9146621fd 100644 --- a/Telegram/SourceFiles/codegen/style/structure_types.h +++ b/Telegram/SourceFiles/codegen/style/structure_types.h @@ -30,6 +30,9 @@ namespace structure { // List of names, like overview.document.bg using FullName = QStringList; +inline std::string logFullName(const FullName &name) { + return name.join('.').toStdString(); +} struct Variable; @@ -68,6 +71,10 @@ inline bool operator!=(const Type &a, const Type &b) { namespace data { +inline int pxAdjust(int value, int scale) { + return qRound((value * scale / 4.) + (value > 0 ? -0.01 : 0.01)); +} + struct point { int x, y; }; @@ -85,29 +92,32 @@ struct margins { }; struct font { enum Flag { - Bold = 0x01, - Italic = 0x02, + Bold = 0x01, + Italic = 0x02, Underline = 0x04, }; std::string family; int size; int flags; }; -using complex = QList; +struct field; // defined after Variable is defined +using fields = QList; } // namespace data class Value { public: Value(); - Value(double value); Value(data::point value); Value(data::sprite value); Value(data::size value); Value(data::color value); Value(data::margins value); Value(data::font value); - Value(const FullName &type, data::complex value); + Value(const FullName &type, data::fields value); + + // Can be only double. + Value(TypeTag type, double value); // Can be int / pixels. Value(TypeTag type, int value); @@ -128,8 +138,8 @@ public: data::color Color() const { return data_->Color(); }; data::margins Margins() const { return data_->Margins(); }; data::font Font() const { return data_->Font(); }; - const data::complex *Complex() const { return data_->Complex(); }; - data::complex *Complex() { return data_->Complex(); }; + const data::fields *Fields() const { return data_->Fields(); }; + data::fields *Fields() { return data_->Fields(); }; explicit operator bool() const { return type_.tag != TypeTag::Invalid; @@ -141,6 +151,10 @@ public: return result; } + const FullName ©Of() const { + return copyOf_; + } + private: class DataBase { public: @@ -153,8 +167,8 @@ private: virtual data::color Color() const { return {}; }; virtual data::margins Margins() const { return {}; }; virtual data::font Font() const { return {}; }; - virtual const data::complex *Complex() const { return nullptr; }; - virtual data::complex *Complex() { return nullptr; }; + virtual const data::fields *Fields() const { return nullptr; }; + virtual data::fields *Fields() { return nullptr; }; virtual ~DataBase() { } }; @@ -169,6 +183,45 @@ private: }; +struct Variable { + FullName name; + Value value; + + explicit operator bool() const { + return !name.isEmpty(); + } +}; + +namespace data { +struct field { + enum class Status { + Uninitialized, + Implicit, + Explicit + }; + Variable variable; + Status status; +}; +} // namespace data + +struct StructField { + FullName name; + Type type; + + explicit operator bool() const { + return !name.isEmpty(); + } +}; + +struct Struct { + FullName name; + QList fields; + + explicit operator bool() const { + return !name.isEmpty(); + } +}; + } // namespace structure } // namespace style } // namespace codegen diff --git a/Telegram/SourceFiles/core/basic_types.h b/Telegram/SourceFiles/core/basic_types.h index 75757ba02..41d42cc57 100644 --- a/Telegram/SourceFiles/core/basic_types.h +++ b/Telegram/SourceFiles/core/basic_types.h @@ -813,8 +813,7 @@ inline QSharedPointer MakeShared(Args&&... args) { template class NeverFreedPointer { public: - explicit NeverFreedPointer() { - } + NeverFreedPointer() = default; NeverFreedPointer(const NeverFreedPointer &other) = delete; NeverFreedPointer &operator=(const NeverFreedPointer &other) = delete; @@ -861,7 +860,7 @@ public: } private: - T *_p = nullptr; + T *_p; }; diff --git a/Telegram/SourceFiles/dropdown.cpp b/Telegram/SourceFiles/dropdown.cpp index 676ff0025..ceae67a46 100644 --- a/Telegram/SourceFiles/dropdown.cpp +++ b/Telegram/SourceFiles/dropdown.cpp @@ -2876,7 +2876,7 @@ void EmojiPan::paintEvent(QPaintEvent *e) { } if (rtl()) selx = width() - selx - st::rbEmoji.width; - p.setOpacity(skip ? qMax(1., selx / (skip * st::rbEmoji.width)) : 1.); + p.setOpacity(skip ? qMax(1., selx / float64(skip * st::rbEmoji.width)) : 1.); p.fillRect(selx, _iconsTop + st::rbEmoji.height - st::stickerIconPadding, st::rbEmoji.width, st::stickerIconSel, st::stickerIconSelColor); float64 o_left = snap(float64(_iconsX.current()) / st::stickerIconLeft.pxWidth(), 0., 1.); diff --git a/Telegram/SourceFiles/ui/flatbutton.cpp b/Telegram/SourceFiles/ui/flatbutton.cpp index 7079c2cb6..383c05d85 100644 --- a/Telegram/SourceFiles/ui/flatbutton.cpp +++ b/Telegram/SourceFiles/ui/flatbutton.cpp @@ -375,7 +375,7 @@ void BoxButton::resizeToText() { resize(_textWidth - _st.width, _st.height); } else { if (_st.width < _textWidth + (_st.height - _st.font->height)) { - _text = _st.font->elided(_fullText, qMax(_st.width - (_st.height - _st.font->height), 1.)); + _text = _st.font->elided(_fullText, qMax(_st.width - (_st.height - _st.font->height), 1)); _textWidth = _st.font->width(_text); } resize(_st.width, _st.height); diff --git a/Telegram/SourceFiles/ui/flatcheckbox.cpp b/Telegram/SourceFiles/ui/flatcheckbox.cpp index ea118134a..ddeb4f55e 100644 --- a/Telegram/SourceFiles/ui/flatcheckbox.cpp +++ b/Telegram/SourceFiles/ui/flatcheckbox.cpp @@ -250,7 +250,7 @@ Checkbox::Checkbox(QWidget *parent, const QString &text, bool checked, const sty resize(_textWidth - _st.width, _st.height); } else { if (_st.width < _st.textPosition.x() + _textWidth + (_st.textPosition.x() - _st.diameter)) { - _text = _st.font->elided(_fullText, qMax(_st.width - (_st.textPosition.x() + (_st.textPosition.x() - _st.diameter)), 1.)); + _text = _st.font->elided(_fullText, qMax(_st.width - (_st.textPosition.x() + (_st.textPosition.x() - _st.diameter)), 1)); _textWidth = _st.font->width(_text); } resize(_st.width, _st.height); @@ -392,7 +392,7 @@ Radiobutton::Radiobutton(QWidget *parent, const QString &group, int32 value, con resize(_textWidth - _st.width, _st.height); } else { if (_st.width < _st.textPosition.x() + _textWidth + (_st.textPosition.x() - _st.diameter)) { - _text = _st.font->elided(_fullText, qMax(_st.width - (_st.textPosition.x() + (_st.textPosition.x() - _st.diameter)), 1.)); + _text = _st.font->elided(_fullText, qMax(_st.width - (_st.textPosition.x() + (_st.textPosition.x() - _st.diameter)), 1)); _textWidth = _st.font->width(_text); } resize(_st.width, _st.height); diff --git a/Telegram/SourceFiles/ui/style.h b/Telegram/SourceFiles/ui/style.h index b3108ab22..414541118 100644 --- a/Telegram/SourceFiles/ui/style.h +++ b/Telegram/SourceFiles/ui/style.h @@ -21,5 +21,5 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include "ui/style_core.h" -#include "GeneratedFiles/style_classes.h" -#include "GeneratedFiles/style_auto.h" +#include "GeneratedFiles/styles/style_basic_types.h" +#include "GeneratedFiles/styles/style_basic.h" diff --git a/Telegram/SourceFiles/ui/style_core.cpp b/Telegram/SourceFiles/ui/style_core.cpp index f1b52a7fa..e6ad6cbab 100644 --- a/Telegram/SourceFiles/ui/style_core.cpp +++ b/Telegram/SourceFiles/ui/style_core.cpp @@ -20,13 +20,63 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" +namespace style { namespace { - typedef QMap FontFamilyMap; - FontFamilyMap _fontFamilyMap; +using ModulesList = QList; +NeverFreedPointer styleModules; + +typedef QMap FontFamilyMap; +FontFamilyMap fontFamilyMap; + +typedef QVector FontFamilies; +FontFamilies _fontFamilies; + +typedef QMap FontDatas; +FontDatas fontsMap; + +typedef QMap ColorDatas; +ColorDatas colorsMap; + +int spriteWidthValue = 0; +QPixmap *spriteData = nullptr; + +inline uint32 fontKey(int size, uint32 flags, int family) { + return (((uint32(family) << 10) | uint32(size)) << 3) | flags; } -namespace style { - FontData::FontData(uint32 size, uint32 flags, uint32 family, Font *other) : f(_fontFamilies[family]), m(f), _size(size), _flags(flags), _family(family) { +} // namespace + +namespace internal { + +void registerModule(ModuleBase *module) { + styleModules.makeIfNull(); + styleModules->push_back(module); +} + +void unregisterModule(ModuleBase *module) { + styleModules->removeOne(module); + if (styleModules->isEmpty()) { + styleModules.clear(); + } +} + +int registerFontFamily(const QString &family) { + auto result = fontFamilyMap.value(family, -1); + if (result < 0) { + result = _fontFamilies.size(); + fontFamilyMap.insert(family, result); + _fontFamilies.push_back(family); + } + return result; +} + +int spriteWidth() { + return spriteWidthValue; +} + +} // namespace internal + + FontData::FontData(int size, uint32 flags, int family, Font *other) : f(_fontFamilies[family]), m(f), _size(size), _flags(flags), _family(family) { if (other) { memcpy(modified, other, sizeof(modified)); } else { @@ -60,7 +110,7 @@ namespace style { return otherFlagsFont(FontUnderline, set); } - uint32 FontData::size() const { + int FontData::size() const { return _size; } @@ -68,7 +118,7 @@ namespace style { return _flags; } - uint32 FontData::family() const { + int FontData::family() const { return _family; } @@ -80,34 +130,34 @@ namespace style { return modified[newFlags]; } - Font::Font(uint32 size, uint32 flags, const QString &family) { - if (_fontFamilyMap.isEmpty()) { + Font::Font(int size, uint32 flags, const QString &family) { + if (fontFamilyMap.isEmpty()) { for (uint32 i = 0, s = style::_fontFamilies.size(); i != s; ++i) { - _fontFamilyMap.insert(style::_fontFamilies.at(i), i); + fontFamilyMap.insert(style::_fontFamilies.at(i), i); } } - FontFamilyMap::const_iterator i = _fontFamilyMap.constFind(family); - if (i == _fontFamilyMap.cend()) { + auto i = fontFamilyMap.constFind(family); + if (i == fontFamilyMap.cend()) { style::_fontFamilies.push_back(family); - i = _fontFamilyMap.insert(family, style::_fontFamilies.size() - 1); + i = fontFamilyMap.insert(family, style::_fontFamilies.size() - 1); } init(size, flags, i.value(), 0); } - Font::Font(uint32 size, uint32 flags, uint32 family) { + Font::Font(int size, uint32 flags, int family) { init(size, flags, family, 0); } - Font::Font(uint32 size, uint32 flags, uint32 family, Font *modified) { + Font::Font(int size, uint32 flags, int family, Font *modified) { init(size, flags, family, modified); } - void Font::init(uint32 size, uint32 flags, uint32 family, Font *modified) { - uint32 key = _fontKey(size, flags, family); - FontDatas::const_iterator i = _fontsMap.constFind(key); - if (i == _fontsMap.cend()) { - i = _fontsMap.insert(key, new FontData(size, flags, family, modified)); + void Font::init(int size, uint32 flags, int family, Font *modified) { + uint32 key = fontKey(size, flags, family); + auto i = fontsMap.constFind(key); + if (i == fontsMap.cend()) { + i = fontsMap.insert(key, new FontData(size, flags, family, modified)); } ptr = i.value(); } @@ -141,9 +191,9 @@ namespace style { } void Color::init(uchar r, uchar g, uchar b, uchar a) { uint32 key = colorKey(r, g, b, a); - ColorDatas::const_iterator i = _colorsMap.constFind(key); - if (i == _colorsMap.cend()) { - i = _colorsMap.insert(key, new ColorData(r, g, b, a)); + auto i = colorsMap.constFind(key); + if (i == colorsMap.cend()) { + i = colorsMap.insert(key, new ColorData(r, g, b, a)); } ptr = i.value(); } @@ -163,16 +213,57 @@ namespace style { b = QBrush(color); } - void stopManager() { - for (FontDatas::const_iterator i = _fontsMap.cbegin(), e = _fontsMap.cend(); i != e; ++i) { - delete i.value(); + void startManager() { + if (cRetina()) { + cSetRealScale(dbisOne); } - _fontsMap.clear(); - for (ColorDatas::const_iterator i = _colorsMap.cbegin(), e = _colorsMap.cend(); i != e; ++i) { - delete i.value(); + internal::registerFontFamily(qsl("Open Sans")); + QString spriteFilePostfix; + if (cRetina() || cScale() == dbisTwo) { + spriteFilePostfix = qsl("_200x"); + } else if (cScale() == dbisOneAndQuarter) { + spriteFilePostfix = qsl("_125x"); + } else if (cScale() == dbisOneAndHalf) { + spriteFilePostfix = qsl("_150x"); } - _colorsMap.clear(); + QString spriteFile = qsl(":/gui/art/sprite") + spriteFilePostfix + qsl(".png"); + if (rtl()) { + spriteData = new QPixmap(QPixmap::fromImage(QImage(spriteFile).mirrored(true, false))); + } else { + spriteData = new QPixmap(spriteFile); + } + if (cRetina()) spriteData->setDevicePixelRatio(cRetinaFactor()); + spriteWidthValue = spriteData->width(); + + if (styleModules) { + for_const (auto module, *styleModules) { + module->start(); + } + } + _fontFamilies.push_back(qsl("Open Sans")); + } + + void stopManager() { + if (styleModules) { + for_const (auto module, *styleModules) { + module->stop(); + } + } + + for (auto fontData : fontsMap) { + delete fontData; + } + fontsMap.clear(); + + for (auto colorData : colorsMap) { + delete colorData; + } + colorsMap.clear(); + } + + const QPixmap &spritePixmap() { + return *spriteData; } }; diff --git a/Telegram/SourceFiles/ui/style_core.h b/Telegram/SourceFiles/ui/style_core.h index 1528284d1..e440dd414 100644 --- a/Telegram/SourceFiles/ui/style_core.h +++ b/Telegram/SourceFiles/ui/style_core.h @@ -46,14 +46,31 @@ inline QRect centerrect(const QRect &inRect, const QRect &rect) { } namespace style { +namespace internal { + +// Objects of derived classes are created in global scope. +// They call [un]registerModule() in [de|con]structor. +class ModuleBase { +public: + virtual void start() = 0; + virtual void stop() = 0; +}; +void registerModule(ModuleBase *module); +void unregisterModule(ModuleBase *module); + +int registerFontFamily(const QString &family); + +int spriteWidth(); + +} // namespace internal class FontData; class Font { public: Font(Qt::Initialization = Qt::Uninitialized) : ptr(0) { } - Font(uint32 size, uint32 flags, const QString &family); - Font(uint32 size, uint32 flags = 0, uint32 family = 0); + Font(int size, uint32 flags, const QString &family); + Font(int size, uint32 flags = 0, int family = 0); Font &operator=(const Font &other) { ptr = other.ptr; @@ -76,36 +93,24 @@ namespace style { private: FontData *ptr; - void init(uint32 size, uint32 flags, uint32 family, Font *modified); + void init(int size, uint32 flags, int family, Font *modified); friend void startManager(); Font(FontData *p) : ptr(p) { } - Font(uint32 size, uint32 flags, uint32 family, Font *modified); + Font(int size, uint32 flags, int family, Font *modified); friend class FontData; }; - enum FontFlagBits { - FontBoldBit, - FontItalicBit, - FontUnderlineBit, - - FontFlagsBits - }; - enum FontFlags { - FontBold = (1 << FontBoldBit), - FontItalic = (1 << FontItalicBit), - FontUnderline = (1 << FontUnderlineBit), + FontBold = 0x01, + FontItalic = 0x02, + FontUnderline = 0x04, - FontDifferentFlags = (1 << FontFlagsBits) + FontDifferentFlags = 0x08, }; - inline uint32 _fontKey(uint32 size, uint32 flags, uint32 family) { - return (((family << 10) | size) << FontFlagsBits) | flags; - } - class FontData { public: @@ -126,9 +131,9 @@ namespace style { Font italic(bool set = true) const; Font underline(bool set = true) const; - uint32 size() const; + int size() const; uint32 flags() const; - uint32 family() const; + int family() const; QFont f; QFontMetrics m; @@ -138,10 +143,12 @@ namespace style { mutable Font modified[FontDifferentFlags]; Font otherFlagsFont(uint32 flag, bool set) const; - FontData(uint32 size, uint32 flags, uint32 family, Font *other); + FontData(int size, uint32 flags, int family, Font *other); friend class Font; - uint32 _size, _flags, _family; + int _size; + uint32 _flags; + int _family; }; @@ -159,7 +166,7 @@ namespace style { class ColorData; class Color { public: - Color(Qt::Initialization = Qt::Uninitialized) : ptr(0), owner(false) { + Color(Qt::Initialization = Qt::Uninitialized) { } Color(const Color &c); Color(const QColor &c); @@ -185,8 +192,8 @@ namespace style { } private: - ColorData *ptr; - bool owner; + ColorData *ptr = nullptr; + bool owner = false; void init(uchar r, uchar g, uchar b, uchar a); @@ -233,17 +240,6 @@ namespace style { return ptr->p; } - typedef QVector FontFamilies; - extern FontFamilies _fontFamilies; - - typedef QMap FontDatas; - extern FontDatas _fontsMap; - - typedef QMap ColorDatas; - extern ColorDatas _colorsMap; - - extern int _spriteWidth; - typedef float64 number; typedef QString string; typedef QRect rect; @@ -252,7 +248,7 @@ namespace style { public: sprite() { } - sprite(int left, int top, int width, int height) : rect(rtl() ? (_spriteWidth - left - width) : left, top, width, height) { + sprite(int left, int top, int width, int height) : rect(rtl() ? (internal::spriteWidth() - left - width) : left, top, width, height) { } inline int pxWidth() const { return rect::width() / cIntRetinaFactor(); @@ -314,8 +310,9 @@ namespace style { void startManager(); void stopManager(); + const QPixmap &spritePixmap(); -}; +} // namespace style inline QRect centersprite(const QRect &inRect, const style::sprite &sprite) { return centerrect(inRect, QRect(QPoint(0, 0), sprite.pxSize())); diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index 3f3b24616..ff3e6f773 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -1051,7 +1051,13 @@ true true - + + + + true + true + true + @@ -1245,6 +1251,8 @@ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(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" + + @@ -1608,8 +1616,16 @@ $(QTDIR)\bin\moc.exe;%(FullPath) - - + + true + true + true + + + true + true + true + $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2379,7 +2395,13 @@ - + + true + true + true + + + diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index 964d49b76..bd8a0352a 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -82,6 +82,9 @@ cpp;moc False + + {3397dfda-79f1-4a4c-940b-be26b001baf5} + @@ -1077,6 +1080,12 @@ SourceFiles\ui\text + + GeneratedFiles\styles + + + GeneratedFiles\styles + @@ -1235,6 +1244,12 @@ SourceFiles\ui\text + + GeneratedFiles\styles + + + GeneratedFiles\styles + @@ -1539,5 +1554,11 @@ Resources + + Resources + + + Resources + \ No newline at end of file diff --git a/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj b/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj new file mode 100644 index 000000000..9e5a0eee3 --- /dev/null +++ b/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj @@ -0,0 +1,120 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6} + Qt4VSv1.0 + 8.1 + + + + Application + v140 + + + Application + v140 + + + + + + + + + + + + + <_ProjectFileVersion>14.0.24730.2 + + + $(SolutionDir)$(Platform)\codegen\$(Configuration)\ + $(SolutionDir)$(Platform)\obj\$(ProjectName)\$(Configuration)\ + + + $(SolutionDir)$(Platform)\codegen\$(Configuration)\ + $(SolutionDir)$(Platform)\obj\$(ProjectName)\$(Configuration)\ + + + + UNICODE;WIN32;QT_CORE_LIB;%(PreprocessorDefinitions) + Disabled + ProgramDatabase + MultiThreadedDebug + .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) + true + Level4 + true + /w44062 /wd4127 %(AdditionalOptions) + + + Console + $(OutDir)\$(ProjectName).exe + $(QTDIR)\lib;%(AdditionalLibraryDirectories) + true + ws2_32.lib;qtmaind.lib;qtharfbuzzngd.lib;qtpcred.lib;qtfreetyped.lib;Qt5Cored.lib;%(AdditionalDependencies) + + + + + UNICODE;WIN32;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions) + + MultiThreaded + .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) + true + Level4 + true + /w44062 /wd4127 %(AdditionalOptions) + + + Console + $(OutDir)\$(ProjectName).exe + $(QTDIR)\lib;%(AdditionalLibraryDirectories) + false + ws2_32.lib;qtmain.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5Core.lib;%(AdditionalDependencies) + + + + + + + + + + + \ No newline at end of file diff --git a/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj.filters b/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj.filters new file mode 100644 index 000000000..ed647d66b --- /dev/null +++ b/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj.filters @@ -0,0 +1,82 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;cxx;c;def + + + {77524fac-2d55-437d-810f-c271326c7f95} + + + {48ba9931-338f-4476-8d83-600d0ac4440e} + + + + + src\common + + + src\common + + + src\common + + + src\common + + + src\common + + + src\numbers + + + src\numbers + + + src\numbers + + + src\numbers + + + src\numbers + + + + + src\common + + + src\common + + + src\common + + + src\common + + + src\common + + + src\common + + + src\common + + + src\numbers + + + src\numbers + + + src\numbers + + + src\numbers + + + \ No newline at end of file diff --git a/Telegram/build/vc/codegen_style/codegen_style.targets b/Telegram/build/vc/codegen_style/codegen_style.targets index 541943db3..f43879e86 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.targets +++ b/Telegram/build/vc/codegen_style/codegen_style.targets @@ -15,6 +15,6 @@ Inputs="%(CodegenStyleItem.Identity)" Outputs=".\GeneratedFiles\styles\style_%(CodegenStyleItem.Filename).h;.\GeneratedFiles\styles\style_%(CodegenStyleItem.Filename).cpp"> - + diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj b/Telegram/build/vc/codegen_style/codegen_style.vcxproj index 29b8674b4..aa95a1a6b 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj @@ -14,11 +14,15 @@ + + + + @@ -27,11 +31,14 @@ + + - + + @@ -86,7 +93,7 @@ $(OutDir)\$(ProjectName).exe $(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories) true - ws2_32.lib;qtmaind.lib;qtharfbuzzngd.lib;qtpcred.lib;qtfreetyped.lib;imageformats\qwebpd.lib;Qt5Cored.lib;%(AdditionalDependencies) + ws2_32.lib;qtmaind.lib;qtharfbuzzngd.lib;qtpcred.lib;qtfreetyped.lib;imageformats\qwebpd.lib;Qt5Cored.lib;Qt5Guid.lib;%(AdditionalDependencies) @@ -94,7 +101,7 @@ UNICODE;WIN32;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions) MultiThreadedDLL - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;%(AdditionalIncludeDirectories) + .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) true Level4 true @@ -105,7 +112,7 @@ $(OutDir)\$(ProjectName).exe $(QTDIR)\lib;%(AdditionalLibraryDirectories) false - qtmain.lib;Qt5Core.lib;%(AdditionalDependencies) + ws2_32.lib;qtmain.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;imageformats\qwebp.lib;Qt5Core.lib;Qt5Gui.lib;%(AdditionalDependencies) diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters b/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters index 20abd6169..ba57a5469 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj.filters @@ -22,9 +22,6 @@ src\common - - src\style - src\common @@ -40,11 +37,23 @@ src\style + + src\style + + + src\common + + + src\style + + + src\style + + + src\style + - - src\style - src\common @@ -66,14 +75,26 @@ src\style - - src\style - src\style src\style + + src\style + + + src\common + + + src\style + + + src\style + + + src\style + \ No newline at end of file From 6859109503d573b63280041588e9e1eb62e50402 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 19 Apr 2016 01:00:54 +0300 Subject: [PATCH 06/16] Replaced MetaStyle project with codegen_style/numbers in MSVC. --- Telegram.sln | 12 --- .../codegen/common/basic_tokenized_file.cpp | 3 + .../codegen/common/basic_tokenized_file.h | 1 + .../SourceFiles/codegen/common/clean_file.cpp | 33 ++++--- .../SourceFiles/codegen/common/clean_file.h | 9 +- .../codegen/common/clean_file_reader.h | 7 +- .../SourceFiles/codegen/numbers/generator.cpp | 56 ++++++++++++ .../codegen/numbers/parsed_file.cpp | 85 ++++++++++++++++++- .../SourceFiles/codegen/numbers/parsed_file.h | 6 +- Telegram/Telegram.vcxproj | 29 +------ Telegram/Telegram.vcxproj.filters | 15 +--- .../vc/codegen_style/codegen_style.vcxproj | 2 +- 12 files changed, 184 insertions(+), 74 deletions(-) diff --git a/Telegram.sln b/Telegram.sln index b474402bc..0bcdb9682 100644 --- a/Telegram.sln +++ b/Telegram.sln @@ -5,15 +5,12 @@ VisualStudioVersion = 14.0.24720.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Telegram", "Telegram\Telegram.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}" ProjectSection(ProjectDependencies) = postProject - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0} = {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0} {E4DF8176-4DEF-4859-962F-B497E3E7A323} = {E4DF8176-4DEF-4859-962F-B497E3E7A323} {E417CAA4-259B-4C99-88E3-805F1300E8EB} = {E417CAA4-259B-4C99-88E3-805F1300E8EB} {EB7D16AC-EACF-4577-B05A-F28E5F356794} = {EB7D16AC-EACF-4577-B05A-F28E5F356794} {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6} = {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaStyle", "Telegram\MetaStyle.vcxproj", "{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaEmoji", "Telegram\MetaEmoji.vcxproj", "{EB7D16AC-EACF-4577-B05A-F28E5F356794}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Updater", "Telegram\Updater.vcxproj", "{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}" @@ -48,15 +45,6 @@ Global {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.ActiveCfg = Release|Win32 {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.Build.0 = Release|Win32 {B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Debug|Win32.ActiveCfg = Debug|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Debug|Win32.Build.0 = Debug|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Debug|x64.ActiveCfg = Debug|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Deploy|Win32.ActiveCfg = Deploy|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Deploy|Win32.Build.0 = Deploy|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Deploy|x64.ActiveCfg = Release|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|Win32.ActiveCfg = Release|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|Win32.Build.0 = Release|Win32 - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|x64.ActiveCfg = Release|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|Win32.ActiveCfg = Debug|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|x64.ActiveCfg = Debug|Win32 {EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|Win32.ActiveCfg = Deploy|Win32 diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp index 2a80bea35..7bbc9c59d 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp @@ -57,6 +57,9 @@ Token invalidToken() { BasicTokenizedFile::BasicTokenizedFile(const QString &filepath) : reader_(filepath) { } +BasicTokenizedFile::BasicTokenizedFile(const QByteArray &content, const QString &filepath) : reader_(content, filepath) { +} + bool BasicTokenizedFile::putBack() { if (currentToken_ > 0) { --currentToken_; diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h index d33e06ee4..fcfcd27a4 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.h @@ -37,6 +37,7 @@ class LogStream; class BasicTokenizedFile { public: explicit BasicTokenizedFile(const QString &filepath); + explicit BasicTokenizedFile(const QByteArray &content, const QString &filepath = QString()); BasicTokenizedFile(const BasicTokenizedFile &other) = delete; BasicTokenizedFile &operator=(const BasicTokenizedFile &other) = delete; diff --git a/Telegram/SourceFiles/codegen/common/clean_file.cpp b/Telegram/SourceFiles/codegen/common/clean_file.cpp index 154084792..ba104fe9b 100644 --- a/Telegram/SourceFiles/codegen/common/clean_file.cpp +++ b/Telegram/SourceFiles/codegen/common/clean_file.cpp @@ -55,13 +55,22 @@ bool readFile(const QString &filepath, QByteArray *outResult) { } // namespace -CleanFile::CleanFile(const QString &filepath) : filepath_(filepath) { +CleanFile::CleanFile(const QString &filepath) +: filepath_(filepath) +, read_(true) { +} + +CleanFile::CleanFile(const QByteArray &content, const QString &filepath) +: filepath_(filepath) +, content_(content) +, read_(false) { } bool CleanFile::read() { - QByteArray content; - if (!readFile(filepath_, &content)) { - return false; + if (read_) { + if (!readFile(filepath_, &content_)) { + return false; + } } filepath_ = QFileInfo(filepath_).absoluteFilePath(); @@ -73,19 +82,19 @@ bool CleanFile::read() { auto insideComment = InsideComment::None; bool insideString = false; - const char *begin = content.cbegin(), *end = content.cend(), *offset = begin; + const char *begin = content_.cbegin(), *end = content_.cend(), *offset = begin; auto feedContent = [this, &offset, end](const char *ch) { if (ch > offset) { - if (content_.isEmpty()) content_.reserve(end - offset - 2); - content_.append(offset, ch - offset); + if (result_.isEmpty()) result_.reserve(end - offset - 2); + result_.append(offset, ch - offset); offset = ch; } }; auto feedComment = [this, &offset, end](const char *ch) { if (ch > offset) { // comments_.push_back({ content_.size(), QByteArray(offset, ch - offset) }); - if (content_.isEmpty()) content_.reserve(end - offset - 2); - content_.append(' '); + if (result_.isEmpty()) result_.reserve(end - offset - 2); + result_.append(' '); offset = ch; } }; @@ -142,10 +151,10 @@ bool CleanFile::read() { return false; } if (insideComment == InsideComment::None && end > offset) { - if (content_.isEmpty()) { - content_ = content; + if (result_.isEmpty()) { + result_ = content_; } else { - content_.append(offset, end - offset); + result_.append(offset, end - offset); } } return true; diff --git a/Telegram/SourceFiles/codegen/common/clean_file.h b/Telegram/SourceFiles/codegen/common/clean_file.h index 82edf5a79..8afbb7f36 100644 --- a/Telegram/SourceFiles/codegen/common/clean_file.h +++ b/Telegram/SourceFiles/codegen/common/clean_file.h @@ -33,16 +33,17 @@ namespace common { class CleanFile { public: explicit CleanFile(const QString &filepath); + explicit CleanFile(const QByteArray &content, const QString &filepath = QString()); CleanFile(const CleanFile &other) = delete; CleanFile &operator=(const CleanFile &other) = delete; bool read(); const char *data() const { - return content_.constData(); + return result_.constData(); } const char *end() const { - return content_.constEnd(); + return result_.constEnd(); } static constexpr int MaxSize = 10 * 1024 * 1024; @@ -52,8 +53,8 @@ public: private: QString filepath_; - - QByteArray content_; + QByteArray content_, result_; + bool read_; //struct Comment { // int offset; // QByteArray content; diff --git a/Telegram/SourceFiles/codegen/common/clean_file_reader.h b/Telegram/SourceFiles/codegen/common/clean_file_reader.h index 18c8ee31e..923dd9bb0 100644 --- a/Telegram/SourceFiles/codegen/common/clean_file_reader.h +++ b/Telegram/SourceFiles/codegen/common/clean_file_reader.h @@ -30,7 +30,9 @@ namespace common { // Wrapper allows you to read forward the CleanFile without overflow checks. class CleanFileReader { public: - CleanFileReader(const QString &filepath) : file_(filepath) { + explicit CleanFileReader(const QString &filepath) : file_(filepath) { + } + explicit CleanFileReader(const QByteArray &content, const QString &filepath = QString()) : file_(content, filepath) { } bool read() { @@ -57,6 +59,9 @@ public: const char *currentPtr() const { return pos_; } + int charsLeft() const { + return (end_ - pos_); + } // Log error to std::cerr with 'code' at line number 'line' in data(). LogStream logError(int code, int line) const { diff --git a/Telegram/SourceFiles/codegen/numbers/generator.cpp b/Telegram/SourceFiles/codegen/numbers/generator.cpp index e80f48297..4c6dcb8b8 100644 --- a/Telegram/SourceFiles/codegen/numbers/generator.cpp +++ b/Telegram/SourceFiles/codegen/numbers/generator.cpp @@ -47,6 +47,62 @@ bool Generator::writeHeader() { bool Generator::writeSource() { source_ = std::make_unique(basePath_ + ".cpp", project_); + source_->stream() << "\ +QVector phoneNumberParse(const QString &number) {\n\ + QVector result;\n\ +\n\ + int32 len = number.size();\n\ + if (len > 0) switch (number.at(0).unicode()) {\n"; + + QString already; + for (auto i = rules_.data.cend(), e = rules_.data.cbegin(); i != e;) { + --i; + QString k = i.key(); + bool onlyLastChanged = true; + while (!already.isEmpty() && (already.size() > k.size() || !already.endsWith(k.at(already.size() - 1)))) { + if (!onlyLastChanged) { + source_->stream() << QString("\t").repeated(1 + already.size()) << "}\n"; + source_->stream() << QString("\t").repeated(already.size()) << "break;\n"; + } + already = already.mid(0, already.size() - 1); + onlyLastChanged = false; + } + if (already == k) { + source_->stream() << QString("\t").repeated(1 + already.size()) << "}\n"; + } else { + bool onlyFirstCheck = true; + while (already.size() < k.size()) { + if (!onlyFirstCheck) source_->stream() << QString("\t").repeated(1 + already.size()) << "if (len > " << already.size() << ") switch (number.at(" << already.size() << ").unicode()) {\n"; + source_->stream() << QString("\t").repeated(1 + already.size()) << "case '" << k.at(already.size()).toLatin1() << "':\n"; + already.push_back(k.at(already.size())); + onlyFirstCheck = false; + } + } + if (i.value().isEmpty()) { + source_->stream() << QString("\t").repeated(1 + already.size()) << "return QVector(1, " << k.size() << ");\n"; + } else { + source_->stream() << QString("\t").repeated(1 + already.size()) << "result.reserve(" << (i.value().size() + 1) << ");\n"; + source_->stream() << QString("\t").repeated(1 + already.size()) << "result.push_back(" << k.size() << ");\n"; + for (int j = 0, l = i.value().size(); j < l; ++j) { + source_->stream() << QString("\t").repeated(1 + already.size()) << "result.push_back(" << i.value().at(j) << ");\n"; + } + source_->stream() << QString("\t").repeated(1 + already.size()) << "return result;\n"; + } + } + bool onlyLastChanged = true; + while (!already.isEmpty()) { + if (!onlyLastChanged) { + source_->stream() << QString("\t").repeated(1 + already.size()) << "}\n"; + } + already = already.mid(0, already.size() - 1); + onlyLastChanged = false; + } + source_->stream() << "\ + }\n\ +\n\ + return result;\n\ +}\n"; + return source_->finalize(); } diff --git a/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp b/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp index 3dc5508af..5fd4c81e4 100644 --- a/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp +++ b/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp @@ -26,6 +26,8 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include "codegen/common/basic_tokenized_file.h" #include "codegen/common/logging.h" +#include "codegen/common/clean_file_reader.h" +#include "codegen/common/checked_utf8_string.h" using BasicToken = codegen::common::BasicTokenizedFile::Token; using BasicType = BasicToken::Type; @@ -34,21 +36,98 @@ namespace codegen { namespace numbers { namespace { +QByteArray replaceStrings(const QString &filepath) { + common::CleanFileReader reader(filepath); + if (!reader.read()) { + return QByteArray(); + } + common::CheckedUtf8String string(reader.currentPtr(), reader.charsLeft()); + if (!string.isValid()) { + return QByteArray(); + } + + QStringList lines = string.toString().split('\n'); + for (auto &line : lines) { + auto match = QRegularExpression("^(\\d+;[A-Z]+;)([^;]+)(;.+)?$").match(line); + if (match.hasMatch()) { + line = match.captured(1) + '"' + match.captured(2) + '"' + match.captured(3); + } + } + return lines.join('\n').toUtf8(); +} + } // namespace ParsedFile::ParsedFile(const Options &options) -: file_(options.inputPath) +: content_(replaceStrings(options.inputPath)) +, file_(content_, options.inputPath) , options_(options) { } bool ParsedFile::read() { - if (!file_.read()) { + if (content_.isEmpty() || !file_.read()) { return false; } auto filepath = QFileInfo(options_.inputPath).absoluteFilePath(); do { - if (auto startToken = file_.getToken(BasicType::Name)) { + if (auto code = file_.getToken(BasicType::Int)) { + if (!file_.getToken(BasicType::Semicolon)) { + logErrorUnexpectedToken() << "';'"; + return false; + } + if (!file_.getToken(BasicType::Name)) { + logErrorUnexpectedToken() << "country code"; + return false; + } + if (!file_.getToken(BasicType::Semicolon)) { + logErrorUnexpectedToken() << "';'"; + return false; + } + if (!file_.getToken(BasicType::String)) { + logErrorUnexpectedToken() << "country name"; + return false; + } + if (file_.getToken(BasicType::Semicolon)) { + if (auto firstPart = file_.getToken(BasicType::Int)) { + if (firstPart.original.toByteArray() != code.original.toByteArray()) { + file_.putBack(); + result_.data.insert(code.original.toStringUnchecked(), Rule()); + continue; + } + + Rule rule; + while (auto part = file_.getToken(BasicType::Name)) { + rule.push_back(part.original.size()); + } + result_.data.insert(code.original.toStringUnchecked(), rule); + if (rule.isEmpty()) { + logErrorUnexpectedToken() << "bad phone pattern"; + return false; + } + + if (!file_.getToken(BasicType::Semicolon)) { + logErrorUnexpectedToken() << "';'"; + return false; + } + if (!file_.getToken(BasicType::Int)) { + logErrorUnexpectedToken() << "country phone len"; + return false; + } + file_.getToken(BasicType::Semicolon); + continue; + } else { + logErrorUnexpectedToken() << "country phone pattern"; + return false; + } + } else if (file_.getToken(BasicType::Int)) { + file_.putBack(); + result_.data.insert(code.original.toStringUnchecked(), Rule()); + continue; + } else { + logErrorUnexpectedToken() << "country phone pattern"; + return false; + } } if (file_.atEnd()) { break; diff --git a/Telegram/SourceFiles/codegen/numbers/parsed_file.h b/Telegram/SourceFiles/codegen/numbers/parsed_file.h index 7f158b972..8c9609344 100644 --- a/Telegram/SourceFiles/codegen/numbers/parsed_file.h +++ b/Telegram/SourceFiles/codegen/numbers/parsed_file.h @@ -28,10 +28,9 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org namespace codegen { namespace numbers { -struct Rule { -}; +using Rule = QVector; struct Rules { - QVector data; + QMap data; }; // Parses an input file to the internal struct. @@ -63,6 +62,7 @@ private: return file_.logErrorUnexpectedToken(); } + QByteArray content_; common::BasicTokenizedFile file_; Options options_; bool failed_ = false; diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index ff3e6f773..6bf9744be 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -1053,11 +1053,6 @@ - - true - true - true - @@ -1251,6 +1246,7 @@ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(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" + @@ -1583,18 +1579,10 @@ $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) - - .\GeneratedFiles\style_classes.h - "$(SolutionDir)$(Platform)\$(Configuration)Style\MetaStyle.exe" -classes_in ".\Resources\style_classes.txt" -classes_out ".\GeneratedFiles\style_classes.h" -styles_in ".\Resources\style.txt" -styles_out ".\GeneratedFiles\style_auto.h" -path_to_sprites ".\Resources\art\\" - - - .\GeneratedFiles\style_auto.h - .\GeneratedFiles\style_auto.cpp - "$(SolutionDir)$(Platform)\$(Configuration)Style\MetaStyle.exe" -classes_in ".\Resources\style_classes.txt" -classes_out ".\GeneratedFiles\style_classes.h" -styles_in ".\Resources\style.txt" -styles_out ".\GeneratedFiles\style_auto.h" -path_to_sprites ".\Resources\art\\" - + .\GeneratedFiles\numbers.h .\GeneratedFiles\numbers.cpp - "$(SolutionDir)$(Platform)\$(Configuration)Style\MetaStyle.exe" -classes_in ".\Resources\style_classes.txt" -classes_out ".\GeneratedFiles\style_classes.h" -styles_in ".\Resources\style.txt" -styles_out ".\GeneratedFiles\style_auto.h" -path_to_sprites ".\Resources\art\\" + "$(SolutionDir)$(Platform)\codegen\$(Configuration)\codegen_numbers.exe" "-o.\GeneratedFiles" ".\Resources\numbers.txt" .\GeneratedFiles\lang_auto.h @@ -1616,16 +1604,6 @@ $(QTDIR)\bin\moc.exe;%(FullPath) - - true - true - true - - - true - true - true - $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2229,7 +2207,6 @@ .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(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/playerwidget.h" - $(QTDIR)\bin\moc.exe;%(FullPath) diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index bd8a0352a..2a5b14af6 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -111,9 +111,6 @@ SourceFiles - - GeneratedFiles - SourceFiles @@ -1094,12 +1091,6 @@ SourceFiles - - GeneratedFiles - - - GeneratedFiles - SourceFiles @@ -1127,9 +1118,6 @@ SourceFiles - - SourceFiles - Version @@ -1250,6 +1238,9 @@ GeneratedFiles\styles + + GeneratedFiles + diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj b/Telegram/build/vc/codegen_style/codegen_style.vcxproj index aa95a1a6b..15a73d76a 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj @@ -100,7 +100,7 @@ UNICODE;WIN32;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions) - MultiThreadedDLL + MultiThreaded .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) true Level4 From b4d69b847a0d130ab413ec311c91d9f3df49ddbd Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 19 Apr 2016 13:59:59 +0300 Subject: [PATCH 07/16] Xcode build now uses codegen_style/numbers. Xcode projects created. --- .gitignore | 4 +- .../codegen/common/basic_tokenized_file.cpp | 2 +- .../SourceFiles/codegen/common/clean_file.cpp | 5 +- .../codegen/numbers/parsed_file.cpp | 2 +- Telegram/SourceFiles/history.cpp | 12 +- Telegram/SourceFiles/intro/introwidget.h | 2 +- Telegram/SourceFiles/numbers.h | 24 - Telegram/SourceFiles/ui/style.h | 4 +- Telegram/Telegram.xcodeproj/project.pbxproj | 193 ++++++-- Telegram/Telegram.xcodeproj/qt_preprocess.mak | 28 -- .../codegen_numbers.xcodeproj/project.pbxproj | 371 ++++++++++++++++ .../codegen_style.xcodeproj/project.pbxproj | 413 ++++++++++++++++++ 12 files changed, 951 insertions(+), 109 deletions(-) delete mode 100644 Telegram/SourceFiles/numbers.h create mode 100644 Telegram/build/xcode/codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj create mode 100644 Telegram/build/xcode/codegen_style/codegen_style.xcodeproj/project.pbxproj diff --git a/.gitignore b/.gitignore index 49c8fc4d5..fd44deed6 100644 --- a/.gitignore +++ b/.gitignore @@ -33,8 +33,8 @@ ipch/ ._* .qmake.stash /Mac/ -/Telegram/*.xcodeproj/xcuserdata/ -/Telegram/*.xcodeproj/project.xcworkspace/ +project.xcworkspace +xcuserdata /Telegram/*.user.* /Linux/ diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp index 7bbc9c59d..7713897dd 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp @@ -49,7 +49,7 @@ bool isWhitespaceChar(char ch) { } Token invalidToken() { - return { Type::Invalid, QString(), ConstUtf8String(nullptr, 0) }; + return { Type::Invalid, QString(), ConstUtf8String(nullptr, 0), false }; } } // namespace diff --git a/Telegram/SourceFiles/codegen/common/clean_file.cpp b/Telegram/SourceFiles/codegen/common/clean_file.cpp index ba104fe9b..f68896ebf 100644 --- a/Telegram/SourceFiles/codegen/common/clean_file.cpp +++ b/Telegram/SourceFiles/codegen/common/clean_file.cpp @@ -40,8 +40,9 @@ bool readFile(const QString &filepath, QByteArray *outResult) { logError(kErrorFileNotFound, filepath) << ": error: file does not exist."; return false; } - if (f.size() > CleanFile::MaxSize) { - logError(kErrorFileTooLarge, filepath) << "' is too large, size=" << f.size() << " > maxsize=" << CleanFile::MaxSize; + auto limit = CleanFile::MaxSize; + if (f.size() > limit) { + logError(kErrorFileTooLarge, filepath) << "' is too large, size=" << f.size() << " > maxsize=" << limit; return false; } if (!f.open(QIODevice::ReadOnly)) { diff --git a/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp b/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp index 5fd4c81e4..07c05f59e 100644 --- a/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp +++ b/Telegram/SourceFiles/codegen/numbers/parsed_file.cpp @@ -48,7 +48,7 @@ QByteArray replaceStrings(const QString &filepath) { QStringList lines = string.toString().split('\n'); for (auto &line : lines) { - auto match = QRegularExpression("^(\\d+;[A-Z]+;)([^;]+)(;.+)?$").match(line); + auto match = QRegularExpression("^(\\d+;[A-Z]+;)([^;]+)(;.*)?$").match(line); if (match.hasMatch()) { line = match.captured(1) + '"' + match.captured(2) + '"' + match.captured(3); } diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index 7970cfbe2..7765dd6a2 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -7401,9 +7401,9 @@ void HistoryMessage::draw(Painter &p, const QRect &r, TextSelection selection, u } } - uint64 animms = App::main() ? App::main()->animActiveTimeStart(this) : 0; - if (animms > 0 && animms <= ms) { - animms = ms - animms; + uint64 fullAnimMs = App::main() ? App::main()->animActiveTimeStart(this) : 0; + if (fullAnimMs > 0 && fullAnimMs <= ms) { + int animms = ms - fullAnimMs; if (animms > st::activeFadeInDuration + st::activeFadeOutDuration) { App::main()->stopAnimActive(); } else { @@ -8192,9 +8192,9 @@ void HistoryService::draw(Painter &p, const QRect &r, TextSelection selection, u height -= unreadbarh; } - uint64 animms = App::main() ? App::main()->animActiveTimeStart(this) : 0; - if (animms > 0 && animms <= ms) { - animms = ms - animms; + uint64 fullAnimMs = App::main() ? App::main()->animActiveTimeStart(this) : 0; + if (fullAnimMs > 0 && fullAnimMs <= ms) { + int animms = ms - fullAnimMs; if (animms > st::activeFadeInDuration + st::activeFadeOutDuration) { App::main()->stopAnimActive(); } else { diff --git a/Telegram/SourceFiles/intro/introwidget.h b/Telegram/SourceFiles/intro/introwidget.h index 6c377f800..c569e2a3c 100644 --- a/Telegram/SourceFiles/intro/introwidget.h +++ b/Telegram/SourceFiles/intro/introwidget.h @@ -74,7 +74,7 @@ public: void finish(const MTPUser &user, const QImage &photo = QImage()); - void rpcClear(); + void rpcClear() override; void langChangeTo(int32 langId); void nextStep(IntroStep *step) { diff --git a/Telegram/SourceFiles/numbers.h b/Telegram/SourceFiles/numbers.h deleted file mode 100644 index bbbf125e6..000000000 --- a/Telegram/SourceFiles/numbers.h +++ /dev/null @@ -1,24 +0,0 @@ -/* -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 - -QVector phoneNumberParse(const QString &number); diff --git a/Telegram/SourceFiles/ui/style.h b/Telegram/SourceFiles/ui/style.h index 414541118..a2f01bbc1 100644 --- a/Telegram/SourceFiles/ui/style.h +++ b/Telegram/SourceFiles/ui/style.h @@ -21,5 +21,5 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include "ui/style_core.h" -#include "GeneratedFiles/styles/style_basic_types.h" -#include "GeneratedFiles/styles/style_basic.h" +#include "styles/style_basic_types.h" +#include "styles/style_basic.h" diff --git a/Telegram/Telegram.xcodeproj/project.pbxproj b/Telegram/Telegram.xcodeproj/project.pbxproj index 679670ac5..ea7cbc981 100644 --- a/Telegram/Telegram.xcodeproj/project.pbxproj +++ b/Telegram/Telegram.xcodeproj/project.pbxproj @@ -23,7 +23,6 @@ isa = PBXAggregateTarget; buildConfigurationList = 07C3AF3D194CCC310016CFF1 /* Build configuration list for PBXAggregateTarget "Meta Compile" */; buildPhases = ( - 07C3AF3A194CCC310016CFF1 /* Meta Style */, 07C3AF3B194CCC310016CFF1 /* Meta Lang */, ); dependencies = ( @@ -51,6 +50,9 @@ 0732E4A9199E262300D50FE7 /* overviewwidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0732E4A7199E262300D50FE7 /* overviewwidget.cpp */; }; 0732E4AC199E268A00D50FE7 /* moc_overviewwidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0732E4AB199E268A00D50FE7 /* moc_overviewwidget.cpp */; }; 074756191A1372C600CA07F7 /* moc_basic_types.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074756181A1372C600CA07F7 /* moc_basic_types.cpp */; }; + 0747FF7E1CC6435100096FC3 /* style_basic_types.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0747FF7A1CC6435100096FC3 /* style_basic_types.cpp */; }; + 0747FF7F1CC6435100096FC3 /* style_basic.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0747FF7C1CC6435100096FC3 /* style_basic.cpp */; }; + 0747FF851CC6458B00096FC3 /* numbers.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0747FF831CC6458B00096FC3 /* numbers.cpp */; }; 074968D01A44D14C00394F46 /* languagebox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074968CE1A44D14C00394F46 /* languagebox.cpp */; }; 074968D21A44D1DF00394F46 /* moc_languagebox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074968D11A44D1DF00394F46 /* moc_languagebox.cpp */; }; 0749CE69194D723400345D61 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 07C3AF24194335ED0016CFF1 /* Images.xcassets */; }; @@ -77,9 +79,7 @@ 077A4AF81CA41C38002188D2 /* connection_auto.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4AEE1CA41C38002188D2 /* connection_auto.cpp */; }; 077A4AF91CA41C38002188D2 /* connection_http.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4AF01CA41C38002188D2 /* connection_http.cpp */; }; 077A4AFA1CA41C38002188D2 /* connection_tcp.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4AF21CA41C38002188D2 /* connection_tcp.cpp */; }; - 077A4AFB1CA41C38002188D2 /* generate.py in Resources */ = {isa = PBXBuildFile; fileRef = 077A4AF41CA41C38002188D2 /* generate.py */; }; 077A4AFC1CA41C38002188D2 /* rsa_public_key.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4AF51CA41C38002188D2 /* rsa_public_key.cpp */; }; - 077A4AFD1CA41C38002188D2 /* scheme.tl in Resources */ = {isa = PBXBuildFile; fileRef = 077A4AF61CA41C38002188D2 /* scheme.tl */; }; 077A4B031CA41EE2002188D2 /* moc_connection_abstract.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4AFF1CA41EE2002188D2 /* moc_connection_abstract.cpp */; }; 077A4B041CA41EE2002188D2 /* moc_connection_auto.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4B001CA41EE2002188D2 /* moc_connection_auto.cpp */; }; 077A4B051CA41EE2002188D2 /* moc_connection_http.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4B011CA41EE2002188D2 /* moc_connection_http.cpp */; }; @@ -90,8 +90,6 @@ 07A6933519927B160099CB9F /* moc_mediaview.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07A6933419927B160099CB9F /* moc_mediaview.cpp */; }; 07AF95F41AFD03B90060B057 /* qrc_telegram_emojis.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07AF95F21AFD03B90060B057 /* qrc_telegram_emojis.cpp */; }; 07AF95F51AFD03B90060B057 /* qrc_telegram_mac.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07AF95F31AFD03B90060B057 /* qrc_telegram_mac.cpp */; }; - 07AF95F91AFD03C80060B057 /* telegram_emojis.qrc in Resources */ = {isa = PBXBuildFile; fileRef = 07AF95F71AFD03C80060B057 /* telegram_emojis.qrc */; }; - 07AF95FA1AFD03C80060B057 /* telegram_mac.qrc in Resources */ = {isa = PBXBuildFile; fileRef = 07AF95F81AFD03C80060B057 /* telegram_mac.qrc */; }; 07B604321B46A0EC00CA29FE /* playerwidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07B604301B46A0EC00CA29FE /* playerwidget.cpp */; }; 07B604351B46A20900CA29FE /* moc_playerwidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07B604341B46A20900CA29FE /* moc_playerwidget.cpp */; }; 07B817091CB9A235006F7869 /* dialogs_indexed_list.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07B817021CB9A235006F7869 /* dialogs_indexed_list.cpp */; }; @@ -122,7 +120,6 @@ 07DB674D1AD07C9200A51329 /* abstractbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07DB67491AD07C9200A51329 /* abstractbox.cpp */; }; 07DB674E1AD07C9200A51329 /* sessionsbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07DB674B1AD07C9200A51329 /* sessionsbox.cpp */; }; 07DB67511AD07CB800A51329 /* intropwdcheck.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07DB674F1AD07CB800A51329 /* intropwdcheck.cpp */; }; - 07DC42A01B5EA15300B6B888 /* numbers.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07DC429F1B5EA15300B6B888 /* numbers.cpp */; }; 07DE92A01AA4923300A18F6F /* passcodewidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07DE929F1AA4923200A18F6F /* passcodewidget.cpp */; }; 07DE92A71AA4925B00A18F6F /* autolockbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07DE92A31AA4925B00A18F6F /* autolockbox.cpp */; }; 07DE92A81AA4925B00A18F6F /* passcodebox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07DE92A51AA4925B00A18F6F /* passcodebox.cpp */; }; @@ -251,7 +248,6 @@ E8B28580819B882A5964561A /* moc_addcontactbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 81780025807318AEA3B8A6FF /* moc_addcontactbox.cpp */; settings = {ATTRIBUTES = (); }; }; E8D95529CED88F18818C9A8B /* introwidget.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0771C4C94B623FC34BF62983 /* introwidget.cpp */; settings = {ATTRIBUTES = (); }; }; E97B3CFAB59B49BACFFC5F7C /* moc_title.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 1080B6D395843B8F76A2E45E /* moc_title.cpp */; settings = {ATTRIBUTES = (); }; }; - E9F1CE7F9B18C7C85A50E62D /* style_auto.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 99B8D38F7F5858601230911E /* style_auto.cpp */; settings = {ATTRIBUTES = (); }; }; EBE29731916DB43BF49FE7A4 /* aboutbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = C194EDD00F76216057D48A5C /* aboutbox.cpp */; settings = {ATTRIBUTES = (); }; }; ED2557A57C6782721DC494AF /* moc_connectionbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = FEC58F9D8A0963E5A9D4BE6F /* moc_connectionbox.cpp */; settings = {ATTRIBUTES = (); }; }; F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = FCC237CA5AD60B9BA4447615 /* Foundation.framework */; }; @@ -275,6 +271,34 @@ remoteGlobalIDString = 07084678195445A600B5AE3A; remoteInfo = Updater; }; + 0747FF1F1CC63E7E00096FC3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0747FF1B1CC63E7E00096FC3 /* codegen_style.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0747FE5A1CC62B8500096FC3; + remoteInfo = codegen_style; + }; + 0747FF2B1CC63E9900096FC3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0747FF271CC63E9900096FC3 /* codegen_numbers.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 0747FEE61CC63AD900096FC3; + remoteInfo = codegen_numbers; + }; + 0747FF701CC63FF300096FC3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0747FF1B1CC63E7E00096FC3 /* codegen_style.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 0747FE591CC62B8500096FC3; + remoteInfo = codegen_style; + }; + 0747FF721CC63FFD00096FC3 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0747FF271CC63E9900096FC3 /* codegen_numbers.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 0747FEE51CC63AD900096FC3; + remoteInfo = codegen_numbers; + }; 07C3AF22194335970016CFF1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6DB9C3763D02B1415CD9D565 /* Project object */; @@ -324,6 +348,15 @@ 0732E4A8199E262300D50FE7 /* overviewwidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = overviewwidget.h; path = SourceFiles/overviewwidget.h; sourceTree = SOURCE_ROOT; }; 0732E4AB199E268A00D50FE7 /* moc_overviewwidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_overviewwidget.cpp; path = GeneratedFiles/Debug/moc_overviewwidget.cpp; sourceTree = SOURCE_ROOT; }; 074756181A1372C600CA07F7 /* moc_basic_types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_basic_types.cpp; path = GeneratedFiles/Debug/moc_basic_types.cpp; sourceTree = SOURCE_ROOT; }; + 0747FF1B1CC63E7E00096FC3 /* codegen_style.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = codegen_style.xcodeproj; path = build/xcode/codegen_style/codegen_style.xcodeproj; sourceTree = SOURCE_ROOT; }; + 0747FF271CC63E9900096FC3 /* codegen_numbers.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = codegen_numbers.xcodeproj; path = build/xcode/codegen_numbers/codegen_numbers.xcodeproj; sourceTree = SOURCE_ROOT; }; + 0747FF7A1CC6435100096FC3 /* style_basic_types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = style_basic_types.cpp; path = GeneratedFiles/styles/style_basic_types.cpp; sourceTree = SOURCE_ROOT; }; + 0747FF7B1CC6435100096FC3 /* style_basic_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = style_basic_types.h; path = GeneratedFiles/styles/style_basic_types.h; sourceTree = SOURCE_ROOT; }; + 0747FF7C1CC6435100096FC3 /* style_basic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = style_basic.cpp; path = GeneratedFiles/styles/style_basic.cpp; sourceTree = SOURCE_ROOT; }; + 0747FF7D1CC6435100096FC3 /* style_basic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = style_basic.h; path = GeneratedFiles/styles/style_basic.h; sourceTree = SOURCE_ROOT; }; + 0747FF811CC644FF00096FC3 /* numbers.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = numbers.txt; path = Resources/numbers.txt; sourceTree = SOURCE_ROOT; }; + 0747FF831CC6458B00096FC3 /* numbers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = numbers.cpp; path = GeneratedFiles/numbers.cpp; sourceTree = SOURCE_ROOT; }; + 0747FF841CC6458B00096FC3 /* numbers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = numbers.h; path = GeneratedFiles/numbers.h; sourceTree = SOURCE_ROOT; }; 074968CC1A44D13400394F46 /* lang_it.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = lang_it.strings; path = Resources/langs/lang_it.strings; sourceTree = SOURCE_ROOT; }; 074968CE1A44D14C00394F46 /* languagebox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = languagebox.cpp; path = SourceFiles/boxes/languagebox.cpp; sourceTree = SOURCE_ROOT; }; 074968CF1A44D14C00394F46 /* languagebox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = languagebox.h; path = SourceFiles/boxes/languagebox.h; sourceTree = SOURCE_ROOT; }; @@ -448,8 +481,6 @@ 07DB674C1AD07C9200A51329 /* sessionsbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sessionsbox.h; path = SourceFiles/boxes/sessionsbox.h; sourceTree = SOURCE_ROOT; }; 07DB674F1AD07CB800A51329 /* intropwdcheck.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = intropwdcheck.cpp; path = SourceFiles/intro/intropwdcheck.cpp; sourceTree = SOURCE_ROOT; }; 07DB67501AD07CB800A51329 /* intropwdcheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = intropwdcheck.h; path = SourceFiles/intro/intropwdcheck.h; sourceTree = SOURCE_ROOT; }; - 07DC429D1B5EA0E600B6B888 /* numbers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = numbers.h; path = SourceFiles/numbers.h; sourceTree = SOURCE_ROOT; }; - 07DC429F1B5EA15300B6B888 /* numbers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = numbers.cpp; path = GeneratedFiles/numbers.cpp; sourceTree = SOURCE_ROOT; }; 07DE929F1AA4923200A18F6F /* passcodewidget.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = passcodewidget.cpp; path = SourceFiles/passcodewidget.cpp; sourceTree = SOURCE_ROOT; }; 07DE92A21AA4924400A18F6F /* passcodewidget.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = passcodewidget.h; path = SourceFiles/passcodewidget.h; sourceTree = SOURCE_ROOT; }; 07DE92A31AA4925B00A18F6F /* autolockbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = autolockbox.cpp; path = SourceFiles/boxes/autolockbox.cpp; sourceTree = SOURCE_ROOT; }; @@ -507,7 +538,6 @@ 34E1DF19219C52D7DB20224A /* flatlabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = flatlabel.h; path = SourceFiles/ui/flatlabel.h; sourceTree = ""; }; 36BDA5D01BED543A92886669 /* Telegram.pro */ = {isa = PBXFileReference; lastKnownFileType = text; path = Telegram.pro; sourceTree = ""; }; 36F718DC72345A84987DB0F6 /* flatbutton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = flatbutton.h; path = SourceFiles/ui/flatbutton.h; sourceTree = ""; }; - 39C1ADF085370E033CB7E7E1 /* style_classes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = style_classes.h; path = GeneratedFiles/style_classes.h; sourceTree = ""; }; 3A220FD1AE5AD9FE3DC073A4 /* moc_mainwidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_mainwidget.cpp; path = GeneratedFiles/Debug/moc_mainwidget.cpp; sourceTree = ""; }; 3B3ED09AB00290D78CF1181B /* moc_dialogswidget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_dialogswidget.cpp; path = GeneratedFiles/Debug/moc_dialogswidget.cpp; sourceTree = ""; }; 3BBB805F6180E363BF89151A /* qtaudio_coreaudio */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtaudio_coreaudio; path = "/usr/local/Qt-5.5.1/plugins/audio/libqtaudio_coreaudio$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; @@ -592,7 +622,6 @@ 96ACDDE3DCB798B97F9EA2F4 /* file_download.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = file_download.h; path = SourceFiles/mtproto/file_download.h; sourceTree = ""; }; 9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; 974DB34EEB8F83B91614C0B0 /* logs.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = logs.cpp; path = SourceFiles/logs.cpp; sourceTree = ""; }; - 99B8D38F7F5858601230911E /* style_auto.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = style_auto.cpp; path = GeneratedFiles/style_auto.cpp; sourceTree = ""; }; 9A55B8F7C143D66AD9EAE304 /* qgenericbearer */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qgenericbearer; path = "/usr/local/Qt-5.5.1/plugins/bearer/libqgenericbearer$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; 9A69B711DE4B9C89BA803750 /* moc_aboutbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_aboutbox.cpp; path = GeneratedFiles/Debug/moc_aboutbox.cpp; sourceTree = ""; }; 9AB1479D7D63386FD2046620 /* flatinput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = flatinput.cpp; path = SourceFiles/ui/flatinput.cpp; sourceTree = ""; }; @@ -601,7 +630,6 @@ 9D9F4744B2F9FF22569D4535 /* moc_countryinput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_countryinput.cpp; path = GeneratedFiles/Debug/moc_countryinput.cpp; sourceTree = ""; }; 9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; 9E0704DE8650D7952DC6B7AE /* moc_photosendbox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_photosendbox.cpp; path = GeneratedFiles/Debug/moc_photosendbox.cpp; sourceTree = ""; }; - 9EFD7CB36012BFC00CC79434 /* style_auto.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = style_auto.h; path = GeneratedFiles/style_auto.h; sourceTree = ""; }; A0090709DE1B155085362C36 /* introcode.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = introcode.cpp; path = SourceFiles/intro/introcode.cpp; sourceTree = ""; }; A1479F94376F9732B57C69DB /* moc_animation.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_animation.cpp; path = GeneratedFiles/Debug/moc_animation.cpp; sourceTree = ""; }; A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; @@ -763,6 +791,42 @@ name = minizip; sourceTree = ""; }; + 0747FE4F1CC62AE400096FC3 /* codegen */ = { + isa = PBXGroup; + children = ( + 0747FF271CC63E9900096FC3 /* codegen_numbers.xcodeproj */, + 0747FF1B1CC63E7E00096FC3 /* codegen_style.xcodeproj */, + ); + name = codegen; + sourceTree = ""; + }; + 0747FF1C1CC63E7E00096FC3 /* Products */ = { + isa = PBXGroup; + children = ( + 0747FF201CC63E7E00096FC3 /* codegen_style */, + ); + name = Products; + sourceTree = ""; + }; + 0747FF281CC63E9900096FC3 /* Products */ = { + isa = PBXGroup; + children = ( + 0747FF2C1CC63E9900096FC3 /* codegen_numbers */, + ); + name = Products; + sourceTree = ""; + }; + 0747FF791CC6434300096FC3 /* styles */ = { + isa = PBXGroup; + children = ( + 0747FF7A1CC6435100096FC3 /* style_basic_types.cpp */, + 0747FF7B1CC6435100096FC3 /* style_basic_types.h */, + 0747FF7C1CC6435100096FC3 /* style_basic.cpp */, + 0747FF7D1CC6435100096FC3 /* style_basic.h */, + ); + name = styles; + sourceTree = ""; + }; 074968CB1A44D0B800394F46 /* langs */ = { isa = PBXGroup; children = ( @@ -832,14 +896,15 @@ isa = PBXGroup; children = ( 074968CB1A44D0B800394F46 /* langs */, - 07D7EABC1A597DD000838BA2 /* Localizable.strings */, - 07C3AF24194335ED0016CFF1 /* Images.xcassets */, 07080BCB1A4357F300741A51 /* lang.strings */, + 0747FF811CC644FF00096FC3 /* numbers.txt */, 07C3AF2919433ABF0016CFF1 /* style_classes.txt */, 07C3AF2A19433ABF0016CFF1 /* style.txt */, 07AF95F71AFD03C80060B057 /* telegram_emojis.qrc */, 07AF95F81AFD03C80060B057 /* telegram_mac.qrc */, 1292B92B4848460640F6A391 /* telegram.qrc */, + 07C3AF24194335ED0016CFF1 /* Images.xcassets */, + 07D7EABC1A597DD000838BA2 /* Localizable.strings */, ); name = Resources; sourceTree = ""; @@ -936,16 +1001,15 @@ 25B08E2869634E9BCBA333A2 /* GeneratedFiles */ = { isa = PBXGroup; children = ( + 0747FF791CC6434300096FC3 /* styles */, 801973D3334D0FCA849CF485 /* Debug */, - 07DC429F1B5EA15300B6B888 /* numbers.cpp */, 07080BCD1A43588C00741A51 /* lang_auto.cpp */, 07080BCE1A43588C00741A51 /* lang_auto.h */, + 0747FF831CC6458B00096FC3 /* numbers.cpp */, + 0747FF841CC6458B00096FC3 /* numbers.h */, 07AF95F21AFD03B90060B057 /* qrc_telegram_emojis.cpp */, 07AF95F31AFD03B90060B057 /* qrc_telegram_mac.cpp */, D6FF6676816C4E374D374060 /* qrc_telegram.cpp */, - 99B8D38F7F5858601230911E /* style_auto.cpp */, - 9EFD7CB36012BFC00CC79434 /* style_auto.h */, - 39C1ADF085370E033CB7E7E1 /* style_classes.h */, ); name = GeneratedFiles; sourceTree = ""; @@ -1067,7 +1131,6 @@ FE8FD20832B4C226E345CFBA /* mainwidget.h */, 07A69330199277BA0099CB9F /* mediaview.cpp */, 07A69331199277BA0099CB9F /* mediaview.h */, - 07DC429D1B5EA0E600B6B888 /* numbers.h */, 0732E4A7199E262300D50FE7 /* overviewwidget.cpp */, 0732E4A8199E262300D50FE7 /* overviewwidget.h */, 07DE929F1AA4923200A18F6F /* passcodewidget.cpp */, @@ -1284,7 +1347,7 @@ E8C543AB96796ECAA2E65C57 /* Telegram */ = { isa = PBXGroup; children = ( - 07084684195445A600B5AE3A /* Updater.xcodeproj */, + 0747FE4F1CC62AE400096FC3 /* codegen */, 25B08E2869634E9BCBA333A2 /* GeneratedFiles */, 73F2E45FDEB381A085D37A49 /* SourceFiles */, 071AD8691C5E8504008C9E90 /* ThirdParty */, @@ -1292,6 +1355,7 @@ AF39DD055C3EF8226FBE929D /* Frameworks */, FE0A091FDBFB3E9C31B7A1BD /* Products */, 076B1C611CBFCC0F002C0BC2 /* Resources */, + 07084684195445A600B5AE3A /* Updater.xcodeproj */, ); name = Telegram; sourceTree = ""; @@ -1311,6 +1375,8 @@ isa = PBXNativeTarget; buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "Telegram" */; buildPhases = ( + 0747FF741CC6408600096FC3 /* Generate styles */, + 0747FF801CC6437300096FC3 /* Generate numbers */, F7E50F631C51CD5B5DC0BC43 /* Compile Sources */, D1C883685E82D5676953459A /* Link Binary With Libraries */, 07C3AF341948FC3B0016CFF1 /* Force Resources Directory */, @@ -1321,6 +1387,8 @@ buildRules = ( ); dependencies = ( + 0747FF731CC63FFD00096FC3 /* PBXTargetDependency */, + 0747FF711CC63FF300096FC3 /* PBXTargetDependency */, 69BB0D15D494AAF597C8D2CF /* PBXTargetDependency */, ); name = Telegram; @@ -1358,6 +1426,14 @@ productRefGroup = FE0A091FDBFB3E9C31B7A1BD /* Products */; projectDirPath = ""; projectReferences = ( + { + ProductGroup = 0747FF281CC63E9900096FC3 /* Products */; + ProjectRef = 0747FF271CC63E9900096FC3 /* codegen_numbers.xcodeproj */; + }, + { + ProductGroup = 0747FF1C1CC63E7E00096FC3 /* Products */; + ProjectRef = 0747FF1B1CC63E7E00096FC3 /* codegen_style.xcodeproj */; + }, { ProductGroup = 07084685195445A600B5AE3A /* Products */; ProjectRef = 07084684195445A600B5AE3A /* Updater.xcodeproj */; @@ -1380,6 +1456,20 @@ remoteRef = 07084688195445A700B5AE3A /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + 0747FF201CC63E7E00096FC3 /* codegen_style */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = codegen_style; + remoteRef = 0747FF1F1CC63E7E00096FC3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 0747FF2C1CC63E9900096FC3 /* codegen_numbers */ = { + isa = PBXReferenceProxy; + fileType = "compiled.mach-o.executable"; + path = codegen_numbers; + remoteRef = 0747FF2B1CC63E9900096FC3 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -1387,12 +1477,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 077A4AFB1CA41C38002188D2 /* generate.py in Resources */, 0749CE69194D723400345D61 /* Images.xcassets in Resources */, - 07AF95FA1AFD03C80060B057 /* telegram_mac.qrc in Resources */, 07D7EABA1A597DD000838BA2 /* Localizable.strings in Resources */, - 077A4AFD1CA41C38002188D2 /* scheme.tl in Resources */, - 07AF95F91AFD03C80060B057 /* telegram_emojis.qrc in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1413,6 +1499,34 @@ shellPath = /bin/sh; shellScript = "mkdir -p \"$CONFIGURATION_BUILD_DIR/$PRODUCT_NAME.app/Contents/Helpers\" && cp \"./../../Libraries/crashpad/crashpad/out/Release/crashpad_handler\" \"$CONFIGURATION_BUILD_DIR/$PRODUCT_NAME.app/Contents/Helpers/\""; }; + 0747FF741CC6408600096FC3 /* Generate styles */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Generate styles"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "./../Mac/codegen/$CONFIGURATION/codegen_style \"-I./SourceFiles\" \"-o./GeneratedFiles/styles\" ./Resources/all_files.style --rebuild"; + }; + 0747FF801CC6437300096FC3 /* Generate numbers */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Generate numbers"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "./../Mac/codegen/$CONFIGURATION/codegen_numbers \"-o./GeneratedFiles\" ./Resources/numbers.txt"; + }; 07489B6B1A28949600348CD9 /* Build Updater */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1441,20 +1555,6 @@ shellPath = /bin/sh; shellScript = "mkdir -p \"$CONFIGURATION_BUILD_DIR/$PRODUCT_NAME.app/Contents/Resources\""; }; - 07C3AF3A194CCC310016CFF1 /* Meta Style */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Meta Style"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "open ../Mac/DebugStyle/MetaStyle.app --args -classes_in \"../../Telegram/Resources/style_classes.txt\" -classes_out \"../../Telegram/GeneratedFiles/style_classes.h\" -styles_in \"../../Telegram/Resources/style.txt\" -styles_out \"../../Telegram/GeneratedFiles/style_auto.h\" -path_to_sprites \"../../Telegram/Resources/art/\""; - }; 07C3AF3B194CCC310016CFF1 /* Meta Lang */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -1535,7 +1635,6 @@ 8F65F0D95B1F0CEB859F2FB3 /* boxshadow.cpp in Compile Sources */, 07C8FE021CB66D97007A8702 /* inline_bot_layout_item.cpp in Compile Sources */, D7EF8F129FCCE9AB3F3F081F /* button.cpp in Compile Sources */, - 07DC42A01B5EA15300B6B888 /* numbers.cpp in Compile Sources */, C03447C9A7D9FF73463B8BB5 /* countryinput.cpp in Compile Sources */, 07BE850F1A2093C9008ACB9F /* localstorage.cpp in Compile Sources */, CDB0266A8B7CB20A95266BCD /* emoji_config.cpp in Compile Sources */, @@ -1557,7 +1656,6 @@ 077A4B061CA41EE2002188D2 /* moc_connection_tcp.cpp in Compile Sources */, FCE6518C548DF7BC82228A4A /* twidget.cpp in Compile Sources */, 071AD8D21C5E8E6D008C9E90 /* zip.c in Compile Sources */, - E9F1CE7F9B18C7C85A50E62D /* style_auto.cpp in Compile Sources */, EBE29731916DB43BF49FE7A4 /* aboutbox.cpp in Compile Sources */, 4426AF526AAD86D6F73CE36F /* addcontactbox.cpp in Compile Sources */, 07D7034B19B8755A00C4EED2 /* audio.cpp in Compile Sources */, @@ -1601,6 +1699,7 @@ 0710CA051B0B9404001B4272 /* moc_stickersetbox.cpp in Compile Sources */, 07DE92A71AA4925B00A18F6F /* autolockbox.cpp in Compile Sources */, 07D8509919F8320900623D75 /* usernamebox.cpp in Compile Sources */, + 0747FF7E1CC6435100096FC3 /* style_basic_types.cpp in Compile Sources */, A469EC9C4C367E0B773A9BB7 /* moc_settingswidget.cpp in Compile Sources */, FD2FE0C564A7389A2E609EC7 /* moc_sysbuttons.cpp in Compile Sources */, E97B3CFAB59B49BACFFC5F7C /* moc_title.cpp in Compile Sources */, @@ -1615,6 +1714,7 @@ 07080BCF1A43588C00741A51 /* lang_auto.cpp in Compile Sources */, 07539B1D1A1416AF00083EFC /* moc_history.cpp in Compile Sources */, 07C8FE121CB80915007A8702 /* moc_toast_manager.cpp in Compile Sources */, + 0747FF851CC6458B00096FC3 /* numbers.cpp in Compile Sources */, 077A4AFC1CA41C38002188D2 /* rsa_public_key.cpp in Compile Sources */, 2A500B102B7CE80F3EB6E13E /* moc_file_download.cpp in Compile Sources */, 07A6933519927B160099CB9F /* moc_mediaview.cpp in Compile Sources */, @@ -1664,6 +1764,7 @@ 0F7872E39EA570249D420912 /* moc_introwidget.cpp in Compile Sources */, 4F27F5F76AA3F78C8CA27339 /* moc_introcode.cpp in Compile Sources */, 07D8509519F5C97E00623D75 /* scheme_auto.cpp in Compile Sources */, + 0747FF7F1CC6435100096FC3 /* style_basic.cpp in Compile Sources */, 0250AB6761AC71A2E3155EEA /* moc_introphone.cpp in Compile Sources */, 07D8509419F5C97E00623D75 /* core_types.cpp in Compile Sources */, 2EF5D0AC9A18F9FE9B8A1ACA /* moc_introsignup.cpp in Compile Sources */, @@ -1678,6 +1779,16 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 0747FF711CC63FF300096FC3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = codegen_style; + targetProxy = 0747FF701CC63FF300096FC3 /* PBXContainerItemProxy */; + }; + 0747FF731CC63FFD00096FC3 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = codegen_numbers; + targetProxy = 0747FF721CC63FFD00096FC3 /* PBXContainerItemProxy */; + }; 07C3AF42194CCC510016CFF1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 07C3AF39194CCC310016CFF1 /* Meta Compile */; @@ -1773,7 +1884,6 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = SourceFiles/stdafx.h; GCC_STRICT_ALIASING = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -1915,7 +2025,6 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = SourceFiles/stdafx.h; GCC_STRICT_ALIASING = NO; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; diff --git a/Telegram/Telegram.xcodeproj/qt_preprocess.mak b/Telegram/Telegram.xcodeproj/qt_preprocess.mak index 610300e3e..b033462ff 100644 --- a/Telegram/Telegram.xcodeproj/qt_preprocess.mak +++ b/Telegram/Telegram.xcodeproj/qt_preprocess.mak @@ -411,8 +411,6 @@ GeneratedFiles/Debug/moc_settingswidget.cpp: SourceFiles/ui/flatbutton.h \ ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/sysbuttons.h \ SourceFiles/settingswidget.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/settingswidget.h -o GeneratedFiles/Debug/moc_settingswidget.cpp @@ -587,8 +585,6 @@ GeneratedFiles/Debug/moc_popupmenu.cpp: ../../Libraries/QtStatic/qtbase/include/ GeneratedFiles/Debug/moc_countryinput.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/flatinput.h \ ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/ui/animation.h \ @@ -618,8 +614,6 @@ GeneratedFiles/Debug/moc_flatbutton.cpp: SourceFiles/ui/button.h \ ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/flatbutton.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/ui/flatbutton.h -o GeneratedFiles/Debug/moc_flatbutton.cpp @@ -631,8 +625,6 @@ GeneratedFiles/Debug/moc_flatcheckbox.cpp: SourceFiles/ui/button.h \ GeneratedFiles/Debug/moc_flatinput.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/animation.h \ SourceFiles/core/basic_types.h \ ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ @@ -643,15 +635,11 @@ GeneratedFiles/Debug/moc_flatinput.cpp: ../../Libraries/QtStatic/qtbase/include/ /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/ui/flatinput.h -o GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp: SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/flatlabel.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/ui/flatlabel.h -o GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QTextEdit \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/animation.h \ SourceFiles/core/basic_types.h \ ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ @@ -663,8 +651,6 @@ GeneratedFiles/Debug/moc_flattextarea.cpp: ../../Libraries/QtStatic/qtbase/inclu GeneratedFiles/Debug/moc_scrollarea.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QScrollArea \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/scrollarea.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/ui/scrollarea.h -o GeneratedFiles/Debug/moc_scrollarea.cpp @@ -706,8 +692,6 @@ GeneratedFiles/Debug/moc_connectionbox.cpp: SourceFiles/boxes/abstractbox.h \ SourceFiles/ui/flatinput.h \ ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/animation.h \ SourceFiles/core/basic_types.h \ ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ @@ -727,8 +711,6 @@ GeneratedFiles/Debug/moc_downloadpathbox.cpp: SourceFiles/boxes/abstractbox.h \ SourceFiles/ui/flatinput.h \ ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/animation.h \ SourceFiles/core/basic_types.h \ ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ @@ -793,8 +775,6 @@ GeneratedFiles/Debug/moc_introwidget.cpp: ../../Libraries/QtStatic/qtbase/includ ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/intro/introwidget.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/intro/introwidget.h -o GeneratedFiles/Debug/moc_introwidget.cpp @@ -810,8 +790,6 @@ GeneratedFiles/Debug/moc_introcode.cpp: ../../Libraries/QtStatic/qtbase/include/ ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/flatinput.h \ ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/intro/introwidget.h \ @@ -830,8 +808,6 @@ GeneratedFiles/Debug/moc_introphone.cpp: ../../Libraries/QtStatic/qtbase/include ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/flatinput.h \ ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/ui/countryinput.h \ @@ -854,8 +830,6 @@ GeneratedFiles/Debug/moc_intropwdcheck.cpp: ../../Libraries/QtStatic/qtbase/incl ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/flatinput.h \ ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/ui/countryinput.h \ @@ -878,8 +852,6 @@ GeneratedFiles/Debug/moc_introsignup.cpp: ../../Libraries/QtStatic/qtbase/includ ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ SourceFiles/ui/style.h \ - GeneratedFiles/style_classes.h \ - GeneratedFiles/style_auto.h \ SourceFiles/ui/flatinput.h \ ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ SourceFiles/intro/introwidget.h \ diff --git a/Telegram/build/xcode/codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj b/Telegram/build/xcode/codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj new file mode 100644 index 000000000..cde163d15 --- /dev/null +++ b/Telegram/build/xcode/codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj @@ -0,0 +1,371 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0747FEFC1CC63B6100096FC3 /* basic_tokenized_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEF01CC63B6100096FC3 /* basic_tokenized_file.cpp */; }; + 0747FEFD1CC63B6100096FC3 /* checked_utf8_string.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEF21CC63B6100096FC3 /* checked_utf8_string.cpp */; }; + 0747FEFE1CC63B6100096FC3 /* clean_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEF51CC63B6100096FC3 /* clean_file.cpp */; }; + 0747FEFF1CC63B6100096FC3 /* cpp_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEF81CC63B6100096FC3 /* cpp_file.cpp */; }; + 0747FF001CC63B6100096FC3 /* logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEFA1CC63B6100096FC3 /* logging.cpp */; }; + 0747FF0D1CC63BAC00096FC3 /* generator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FF041CC63BAC00096FC3 /* generator.cpp */; }; + 0747FF0E1CC63BAC00096FC3 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FF061CC63BAC00096FC3 /* main.cpp */; }; + 0747FF0F1CC63BAC00096FC3 /* options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FF071CC63BAC00096FC3 /* options.cpp */; }; + 0747FF101CC63BAC00096FC3 /* parsed_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FF091CC63BAC00096FC3 /* parsed_file.cpp */; }; + 0747FF111CC63BAC00096FC3 /* processor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FF0B1CC63BAC00096FC3 /* processor.cpp */; }; + 0747FF141CC63BD800096FC3 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FF131CC63BD800096FC3 /* CoreFoundation.framework */; }; + 0747FF161CC63D4500096FC3 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FF151CC63D4500096FC3 /* CoreServices.framework */; }; + 0747FF181CC63D4F00096FC3 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FF171CC63D4F00096FC3 /* Cocoa.framework */; }; + 0747FF1A1CC63DA100096FC3 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FF191CC63DA100096FC3 /* CoreText.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 0747FEE41CC63AD900096FC3 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 0747FEE61CC63AD900096FC3 /* codegen_numbers */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = codegen_numbers; sourceTree = BUILT_PRODUCTS_DIR; }; + 0747FEF01CC63B6100096FC3 /* basic_tokenized_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = basic_tokenized_file.cpp; path = ../../../SourceFiles/codegen/common/basic_tokenized_file.cpp; sourceTree = ""; }; + 0747FEF11CC63B6100096FC3 /* basic_tokenized_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = basic_tokenized_file.h; path = ../../../SourceFiles/codegen/common/basic_tokenized_file.h; sourceTree = ""; }; + 0747FEF21CC63B6100096FC3 /* checked_utf8_string.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = checked_utf8_string.cpp; path = ../../../SourceFiles/codegen/common/checked_utf8_string.cpp; sourceTree = ""; }; + 0747FEF31CC63B6100096FC3 /* checked_utf8_string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = checked_utf8_string.h; path = ../../../SourceFiles/codegen/common/checked_utf8_string.h; sourceTree = ""; }; + 0747FEF41CC63B6100096FC3 /* clean_file_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = clean_file_reader.h; path = ../../../SourceFiles/codegen/common/clean_file_reader.h; sourceTree = ""; }; + 0747FEF51CC63B6100096FC3 /* clean_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = clean_file.cpp; path = ../../../SourceFiles/codegen/common/clean_file.cpp; sourceTree = ""; }; + 0747FEF61CC63B6100096FC3 /* clean_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = clean_file.h; path = ../../../SourceFiles/codegen/common/clean_file.h; sourceTree = ""; }; + 0747FEF71CC63B6100096FC3 /* const_utf8_string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = const_utf8_string.h; path = ../../../SourceFiles/codegen/common/const_utf8_string.h; sourceTree = ""; }; + 0747FEF81CC63B6100096FC3 /* cpp_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cpp_file.cpp; path = ../../../SourceFiles/codegen/common/cpp_file.cpp; sourceTree = ""; }; + 0747FEF91CC63B6100096FC3 /* cpp_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cpp_file.h; path = ../../../SourceFiles/codegen/common/cpp_file.h; sourceTree = ""; }; + 0747FEFA1CC63B6100096FC3 /* logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = logging.cpp; path = ../../../SourceFiles/codegen/common/logging.cpp; sourceTree = ""; }; + 0747FEFB1CC63B6100096FC3 /* logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = logging.h; path = ../../../SourceFiles/codegen/common/logging.h; sourceTree = ""; }; + 0747FF041CC63BAC00096FC3 /* generator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = generator.cpp; path = ../../../SourceFiles/codegen/numbers/generator.cpp; sourceTree = ""; }; + 0747FF051CC63BAC00096FC3 /* generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = generator.h; path = ../../../SourceFiles/codegen/numbers/generator.h; sourceTree = ""; }; + 0747FF061CC63BAC00096FC3 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../../../SourceFiles/codegen/numbers/main.cpp; sourceTree = ""; }; + 0747FF071CC63BAC00096FC3 /* options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = options.cpp; path = ../../../SourceFiles/codegen/numbers/options.cpp; sourceTree = ""; }; + 0747FF081CC63BAC00096FC3 /* options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = options.h; path = ../../../SourceFiles/codegen/numbers/options.h; sourceTree = ""; }; + 0747FF091CC63BAC00096FC3 /* parsed_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = parsed_file.cpp; path = ../../../SourceFiles/codegen/numbers/parsed_file.cpp; sourceTree = ""; }; + 0747FF0A1CC63BAC00096FC3 /* parsed_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = parsed_file.h; path = ../../../SourceFiles/codegen/numbers/parsed_file.h; sourceTree = ""; }; + 0747FF0B1CC63BAC00096FC3 /* processor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = processor.cpp; path = ../../../SourceFiles/codegen/numbers/processor.cpp; sourceTree = ""; }; + 0747FF0C1CC63BAC00096FC3 /* processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = processor.h; path = ../../../SourceFiles/codegen/numbers/processor.h; sourceTree = ""; }; + 0747FF131CC63BD800096FC3 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + 0747FF151CC63D4500096FC3 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; + 0747FF171CC63D4F00096FC3 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 0747FF191CC63DA100096FC3 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 0747FEE31CC63AD900096FC3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0747FF1A1CC63DA100096FC3 /* CoreText.framework in Frameworks */, + 0747FF181CC63D4F00096FC3 /* Cocoa.framework in Frameworks */, + 0747FF161CC63D4500096FC3 /* CoreServices.framework in Frameworks */, + 0747FF141CC63BD800096FC3 /* CoreFoundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0747FEDD1CC63AD900096FC3 = { + isa = PBXGroup; + children = ( + 0747FF021CC63B7500096FC3 /* src */, + 0747FF381CC63EFF00096FC3 /* Frameworks */, + 0747FEE71CC63AD900096FC3 /* Products */, + ); + sourceTree = ""; + }; + 0747FEE71CC63AD900096FC3 /* Products */ = { + isa = PBXGroup; + children = ( + 0747FEE61CC63AD900096FC3 /* codegen_numbers */, + ); + name = Products; + sourceTree = ""; + }; + 0747FF021CC63B7500096FC3 /* src */ = { + isa = PBXGroup; + children = ( + 0747FF031CC63B7E00096FC3 /* common */, + 0747FF121CC63BB100096FC3 /* numbers */, + ); + name = src; + sourceTree = ""; + }; + 0747FF031CC63B7E00096FC3 /* common */ = { + isa = PBXGroup; + children = ( + 0747FEF01CC63B6100096FC3 /* basic_tokenized_file.cpp */, + 0747FEF11CC63B6100096FC3 /* basic_tokenized_file.h */, + 0747FEF21CC63B6100096FC3 /* checked_utf8_string.cpp */, + 0747FEF31CC63B6100096FC3 /* checked_utf8_string.h */, + 0747FEF41CC63B6100096FC3 /* clean_file_reader.h */, + 0747FEF51CC63B6100096FC3 /* clean_file.cpp */, + 0747FEF61CC63B6100096FC3 /* clean_file.h */, + 0747FEF71CC63B6100096FC3 /* const_utf8_string.h */, + 0747FEF81CC63B6100096FC3 /* cpp_file.cpp */, + 0747FEF91CC63B6100096FC3 /* cpp_file.h */, + 0747FEFA1CC63B6100096FC3 /* logging.cpp */, + 0747FEFB1CC63B6100096FC3 /* logging.h */, + ); + name = common; + sourceTree = ""; + }; + 0747FF121CC63BB100096FC3 /* numbers */ = { + isa = PBXGroup; + children = ( + 0747FF041CC63BAC00096FC3 /* generator.cpp */, + 0747FF051CC63BAC00096FC3 /* generator.h */, + 0747FF061CC63BAC00096FC3 /* main.cpp */, + 0747FF071CC63BAC00096FC3 /* options.cpp */, + 0747FF081CC63BAC00096FC3 /* options.h */, + 0747FF091CC63BAC00096FC3 /* parsed_file.cpp */, + 0747FF0A1CC63BAC00096FC3 /* parsed_file.h */, + 0747FF0B1CC63BAC00096FC3 /* processor.cpp */, + 0747FF0C1CC63BAC00096FC3 /* processor.h */, + ); + name = numbers; + sourceTree = ""; + }; + 0747FF381CC63EFF00096FC3 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 0747FF191CC63DA100096FC3 /* CoreText.framework */, + 0747FF171CC63D4F00096FC3 /* Cocoa.framework */, + 0747FF151CC63D4500096FC3 /* CoreServices.framework */, + 0747FF131CC63BD800096FC3 /* CoreFoundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 0747FEE51CC63AD900096FC3 /* codegen_numbers */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0747FEED1CC63AD900096FC3 /* Build configuration list for PBXNativeTarget "codegen_numbers" */; + buildPhases = ( + 0747FEE21CC63AD900096FC3 /* Sources */, + 0747FEE31CC63AD900096FC3 /* Frameworks */, + 0747FEE41CC63AD900096FC3 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = codegen_numbers; + productName = codegen_numbers; + productReference = 0747FEE61CC63AD900096FC3 /* codegen_numbers */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 0747FEDE1CC63AD900096FC3 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0730; + ORGANIZATIONNAME = "Telegram Desktop"; + TargetAttributes = { + 0747FEE51CC63AD900096FC3 = { + CreatedOnToolsVersion = 7.3; + }; + }; + }; + buildConfigurationList = 0747FEE11CC63AD900096FC3 /* Build configuration list for PBXProject "codegen_numbers" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 0747FEDD1CC63AD900096FC3; + productRefGroup = 0747FEE71CC63AD900096FC3 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 0747FEE51CC63AD900096FC3 /* codegen_numbers */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 0747FEE21CC63AD900096FC3 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0747FF101CC63BAC00096FC3 /* parsed_file.cpp in Sources */, + 0747FF0F1CC63BAC00096FC3 /* options.cpp in Sources */, + 0747FEFC1CC63B6100096FC3 /* basic_tokenized_file.cpp in Sources */, + 0747FEFD1CC63B6100096FC3 /* checked_utf8_string.cpp in Sources */, + 0747FF111CC63BAC00096FC3 /* processor.cpp in Sources */, + 0747FF001CC63B6100096FC3 /* logging.cpp in Sources */, + 0747FEFE1CC63B6100096FC3 /* clean_file.cpp in Sources */, + 0747FF0E1CC63BAC00096FC3 /* main.cpp in Sources */, + 0747FEFF1CC63B6100096FC3 /* cpp_file.cpp in Sources */, + 0747FF0D1CC63BAC00096FC3 /* generator.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 0747FEEB1CC63AD900096FC3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_TREAT_WARNINGS_AS_ERRORS = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "/usr/local/Qt-5.5.1/include", + ../../../SourceFiles, + ); + LIBRARY_SEARCH_PATHS = "/usr/local/Qt-5.5.1/lib"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + OBJROOT = "./../../../../Mac/obj/codegen_style/$(CONFIGURATION)"; + ONLY_ACTIVE_ARCH = YES; + OTHER_LDFLAGS = ( + "-lQt5Core_debug", + "-lqtpcre_debug", + "-lz", + ); + SDKROOT = macosx; + SYMROOT = ./../../../../Mac/codegen/; + }; + name = Debug; + }; + 0747FEEC1CC63AD900096FC3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "/usr/local/Qt-5.5.1/include", + ../../../SourceFiles, + ); + LIBRARY_SEARCH_PATHS = "/usr/local/Qt-5.5.1/lib"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + OBJROOT = "./../../../../Mac/obj/codegen_style/$(CONFIGURATION)"; + OTHER_LDFLAGS = ( + "-lQt5Core", + "-lqtpcre", + "-lz", + ); + SDKROOT = macosx; + SYMROOT = ./../../../../Mac/codegen/; + }; + name = Release; + }; + 0747FEEE1CC63AD900096FC3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 0747FEEF1CC63AD900096FC3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 0747FEE11CC63AD900096FC3 /* Build configuration list for PBXProject "codegen_numbers" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0747FEEB1CC63AD900096FC3 /* Debug */, + 0747FEEC1CC63AD900096FC3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 0747FEED1CC63AD900096FC3 /* Build configuration list for PBXNativeTarget "codegen_numbers" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0747FEEE1CC63AD900096FC3 /* Debug */, + 0747FEEF1CC63AD900096FC3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 0747FEDE1CC63AD900096FC3 /* Project object */; +} diff --git a/Telegram/build/xcode/codegen_style/codegen_style.xcodeproj/project.pbxproj b/Telegram/build/xcode/codegen_style/codegen_style.xcodeproj/project.pbxproj new file mode 100644 index 000000000..88321863d --- /dev/null +++ b/Telegram/build/xcode/codegen_style/codegen_style.xcodeproj/project.pbxproj @@ -0,0 +1,413 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0747FEA01CC633AA00096FC3 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FE9F1CC633AA00096FC3 /* CoreFoundation.framework */; }; + 0747FEA41CC6344000096FC3 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FEA31CC6344000096FC3 /* CoreServices.framework */; }; + 0747FEA61CC6345000096FC3 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FEA51CC6345000096FC3 /* OpenGL.framework */; }; + 0747FEA81CC6350000096FC3 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FEA71CC6350000096FC3 /* CoreGraphics.framework */; }; + 0747FEAA1CC6351200096FC3 /* CoreText.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FEA91CC6351200096FC3 /* CoreText.framework */; }; + 0747FEAD1CC6360700096FC3 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0747FEAC1CC6360700096FC3 /* Cocoa.framework */; }; + 0747FEBE1CC63A1400096FC3 /* basic_tokenized_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEB21CC63A1400096FC3 /* basic_tokenized_file.cpp */; }; + 0747FEBF1CC63A1400096FC3 /* checked_utf8_string.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEB41CC63A1400096FC3 /* checked_utf8_string.cpp */; }; + 0747FEC01CC63A1400096FC3 /* clean_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEB71CC63A1400096FC3 /* clean_file.cpp */; }; + 0747FEC11CC63A1400096FC3 /* cpp_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEBA1CC63A1400096FC3 /* cpp_file.cpp */; }; + 0747FEC21CC63A1400096FC3 /* logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEBC1CC63A1400096FC3 /* logging.cpp */; }; + 0747FED41CC63A9800096FC3 /* generator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEC51CC63A9800096FC3 /* generator.cpp */; }; + 0747FED51CC63A9800096FC3 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEC71CC63A9800096FC3 /* main.cpp */; }; + 0747FED61CC63A9800096FC3 /* module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FEC81CC63A9800096FC3 /* module.cpp */; }; + 0747FED71CC63A9800096FC3 /* options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FECA1CC63A9800096FC3 /* options.cpp */; }; + 0747FED81CC63A9800096FC3 /* parsed_file.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FECC1CC63A9800096FC3 /* parsed_file.cpp */; }; + 0747FED91CC63A9800096FC3 /* processor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FECE1CC63A9800096FC3 /* processor.cpp */; }; + 0747FEDA1CC63A9800096FC3 /* sprite_generator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FED01CC63A9800096FC3 /* sprite_generator.cpp */; }; + 0747FEDB1CC63A9800096FC3 /* structure_types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0747FED21CC63A9800096FC3 /* structure_types.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 0747FE581CC62B8500096FC3 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 0747FE5A1CC62B8500096FC3 /* codegen_style */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = codegen_style; sourceTree = BUILT_PRODUCTS_DIR; }; + 0747FE9F1CC633AA00096FC3 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + 0747FEA11CC633EE00096FC3 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 0747FEA31CC6344000096FC3 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = System/Library/Frameworks/CoreServices.framework; sourceTree = SDKROOT; }; + 0747FEA51CC6345000096FC3 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 0747FEA71CC6350000096FC3 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 0747FEA91CC6351200096FC3 /* CoreText.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 0747FEAC1CC6360700096FC3 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 0747FEB21CC63A1400096FC3 /* basic_tokenized_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = basic_tokenized_file.cpp; path = ../../../SourceFiles/codegen/common/basic_tokenized_file.cpp; sourceTree = ""; }; + 0747FEB31CC63A1400096FC3 /* basic_tokenized_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = basic_tokenized_file.h; path = ../../../SourceFiles/codegen/common/basic_tokenized_file.h; sourceTree = ""; }; + 0747FEB41CC63A1400096FC3 /* checked_utf8_string.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = checked_utf8_string.cpp; path = ../../../SourceFiles/codegen/common/checked_utf8_string.cpp; sourceTree = ""; }; + 0747FEB51CC63A1400096FC3 /* checked_utf8_string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = checked_utf8_string.h; path = ../../../SourceFiles/codegen/common/checked_utf8_string.h; sourceTree = ""; }; + 0747FEB61CC63A1400096FC3 /* clean_file_reader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = clean_file_reader.h; path = ../../../SourceFiles/codegen/common/clean_file_reader.h; sourceTree = ""; }; + 0747FEB71CC63A1400096FC3 /* clean_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = clean_file.cpp; path = ../../../SourceFiles/codegen/common/clean_file.cpp; sourceTree = ""; }; + 0747FEB81CC63A1400096FC3 /* clean_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = clean_file.h; path = ../../../SourceFiles/codegen/common/clean_file.h; sourceTree = ""; }; + 0747FEB91CC63A1400096FC3 /* const_utf8_string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = const_utf8_string.h; path = ../../../SourceFiles/codegen/common/const_utf8_string.h; sourceTree = ""; }; + 0747FEBA1CC63A1400096FC3 /* cpp_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cpp_file.cpp; path = ../../../SourceFiles/codegen/common/cpp_file.cpp; sourceTree = ""; }; + 0747FEBB1CC63A1400096FC3 /* cpp_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cpp_file.h; path = ../../../SourceFiles/codegen/common/cpp_file.h; sourceTree = ""; }; + 0747FEBC1CC63A1400096FC3 /* logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = logging.cpp; path = ../../../SourceFiles/codegen/common/logging.cpp; sourceTree = ""; }; + 0747FEBD1CC63A1400096FC3 /* logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = logging.h; path = ../../../SourceFiles/codegen/common/logging.h; sourceTree = ""; }; + 0747FEC51CC63A9800096FC3 /* generator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = generator.cpp; path = ../../../SourceFiles/codegen/style/generator.cpp; sourceTree = ""; }; + 0747FEC61CC63A9800096FC3 /* generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = generator.h; path = ../../../SourceFiles/codegen/style/generator.h; sourceTree = ""; }; + 0747FEC71CC63A9800096FC3 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../../../SourceFiles/codegen/style/main.cpp; sourceTree = ""; }; + 0747FEC81CC63A9800096FC3 /* module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = module.cpp; path = ../../../SourceFiles/codegen/style/module.cpp; sourceTree = ""; }; + 0747FEC91CC63A9800096FC3 /* module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = module.h; path = ../../../SourceFiles/codegen/style/module.h; sourceTree = ""; }; + 0747FECA1CC63A9800096FC3 /* options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = options.cpp; path = ../../../SourceFiles/codegen/style/options.cpp; sourceTree = ""; }; + 0747FECB1CC63A9800096FC3 /* options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = options.h; path = ../../../SourceFiles/codegen/style/options.h; sourceTree = ""; }; + 0747FECC1CC63A9800096FC3 /* parsed_file.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = parsed_file.cpp; path = ../../../SourceFiles/codegen/style/parsed_file.cpp; sourceTree = ""; }; + 0747FECD1CC63A9800096FC3 /* parsed_file.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = parsed_file.h; path = ../../../SourceFiles/codegen/style/parsed_file.h; sourceTree = ""; }; + 0747FECE1CC63A9800096FC3 /* processor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = processor.cpp; path = ../../../SourceFiles/codegen/style/processor.cpp; sourceTree = ""; }; + 0747FECF1CC63A9800096FC3 /* processor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = processor.h; path = ../../../SourceFiles/codegen/style/processor.h; sourceTree = ""; }; + 0747FED01CC63A9800096FC3 /* sprite_generator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = sprite_generator.cpp; path = ../../../SourceFiles/codegen/style/sprite_generator.cpp; sourceTree = ""; }; + 0747FED11CC63A9800096FC3 /* sprite_generator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sprite_generator.h; path = ../../../SourceFiles/codegen/style/sprite_generator.h; sourceTree = ""; }; + 0747FED21CC63A9800096FC3 /* structure_types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = structure_types.cpp; path = ../../../SourceFiles/codegen/style/structure_types.cpp; sourceTree = ""; }; + 0747FED31CC63A9800096FC3 /* structure_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = structure_types.h; path = ../../../SourceFiles/codegen/style/structure_types.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 0747FE571CC62B8500096FC3 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0747FEAD1CC6360700096FC3 /* Cocoa.framework in Frameworks */, + 0747FEAA1CC6351200096FC3 /* CoreText.framework in Frameworks */, + 0747FEA81CC6350000096FC3 /* CoreGraphics.framework in Frameworks */, + 0747FEA61CC6345000096FC3 /* OpenGL.framework in Frameworks */, + 0747FEA41CC6344000096FC3 /* CoreServices.framework in Frameworks */, + 0747FEA01CC633AA00096FC3 /* CoreFoundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 0747FE511CC62B8500096FC3 = { + isa = PBXGroup; + children = ( + 0747FEC31CC63A5100096FC3 /* src */, + 0747FEAB1CC6353900096FC3 /* Frameworks */, + 0747FE5B1CC62B8500096FC3 /* Products */, + ); + sourceTree = ""; + }; + 0747FE5B1CC62B8500096FC3 /* Products */ = { + isa = PBXGroup; + children = ( + 0747FE5A1CC62B8500096FC3 /* codegen_style */, + ); + name = Products; + sourceTree = ""; + }; + 0747FEAB1CC6353900096FC3 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 0747FEAC1CC6360700096FC3 /* Cocoa.framework */, + 0747FEA91CC6351200096FC3 /* CoreText.framework */, + 0747FEA71CC6350000096FC3 /* CoreGraphics.framework */, + 0747FEA51CC6345000096FC3 /* OpenGL.framework */, + 0747FEA31CC6344000096FC3 /* CoreServices.framework */, + 0747FEA11CC633EE00096FC3 /* Foundation.framework */, + 0747FE9F1CC633AA00096FC3 /* CoreFoundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 0747FEC31CC63A5100096FC3 /* src */ = { + isa = PBXGroup; + children = ( + 0747FEC41CC63A6300096FC3 /* common */, + 0747FEDC1CC63AA700096FC3 /* style */, + ); + name = src; + sourceTree = ""; + }; + 0747FEC41CC63A6300096FC3 /* common */ = { + isa = PBXGroup; + children = ( + 0747FEB21CC63A1400096FC3 /* basic_tokenized_file.cpp */, + 0747FEB31CC63A1400096FC3 /* basic_tokenized_file.h */, + 0747FEB41CC63A1400096FC3 /* checked_utf8_string.cpp */, + 0747FEB51CC63A1400096FC3 /* checked_utf8_string.h */, + 0747FEB61CC63A1400096FC3 /* clean_file_reader.h */, + 0747FEB71CC63A1400096FC3 /* clean_file.cpp */, + 0747FEB81CC63A1400096FC3 /* clean_file.h */, + 0747FEB91CC63A1400096FC3 /* const_utf8_string.h */, + 0747FEBA1CC63A1400096FC3 /* cpp_file.cpp */, + 0747FEBB1CC63A1400096FC3 /* cpp_file.h */, + 0747FEBC1CC63A1400096FC3 /* logging.cpp */, + 0747FEBD1CC63A1400096FC3 /* logging.h */, + ); + name = common; + sourceTree = ""; + }; + 0747FEDC1CC63AA700096FC3 /* style */ = { + isa = PBXGroup; + children = ( + 0747FEC51CC63A9800096FC3 /* generator.cpp */, + 0747FEC61CC63A9800096FC3 /* generator.h */, + 0747FEC71CC63A9800096FC3 /* main.cpp */, + 0747FEC81CC63A9800096FC3 /* module.cpp */, + 0747FEC91CC63A9800096FC3 /* module.h */, + 0747FECA1CC63A9800096FC3 /* options.cpp */, + 0747FECB1CC63A9800096FC3 /* options.h */, + 0747FECC1CC63A9800096FC3 /* parsed_file.cpp */, + 0747FECD1CC63A9800096FC3 /* parsed_file.h */, + 0747FECE1CC63A9800096FC3 /* processor.cpp */, + 0747FECF1CC63A9800096FC3 /* processor.h */, + 0747FED01CC63A9800096FC3 /* sprite_generator.cpp */, + 0747FED11CC63A9800096FC3 /* sprite_generator.h */, + 0747FED21CC63A9800096FC3 /* structure_types.cpp */, + 0747FED31CC63A9800096FC3 /* structure_types.h */, + ); + name = style; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 0747FE591CC62B8500096FC3 /* codegen_style */ = { + isa = PBXNativeTarget; + buildConfigurationList = 0747FE611CC62B8500096FC3 /* Build configuration list for PBXNativeTarget "codegen_style" */; + buildPhases = ( + 0747FE561CC62B8500096FC3 /* Sources */, + 0747FE571CC62B8500096FC3 /* Frameworks */, + 0747FE581CC62B8500096FC3 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = codegen_style; + productName = codegen_style; + productReference = 0747FE5A1CC62B8500096FC3 /* codegen_style */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 0747FE521CC62B8500096FC3 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0730; + ORGANIZATIONNAME = "Telegram Desktop"; + TargetAttributes = { + 0747FE591CC62B8500096FC3 = { + CreatedOnToolsVersion = 7.3; + }; + }; + }; + buildConfigurationList = 0747FE551CC62B8500096FC3 /* Build configuration list for PBXProject "codegen_style" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 0747FE511CC62B8500096FC3; + productRefGroup = 0747FE5B1CC62B8500096FC3 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 0747FE591CC62B8500096FC3 /* codegen_style */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 0747FE561CC62B8500096FC3 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0747FEBF1CC63A1400096FC3 /* checked_utf8_string.cpp in Sources */, + 0747FED61CC63A9800096FC3 /* module.cpp in Sources */, + 0747FEDA1CC63A9800096FC3 /* sprite_generator.cpp in Sources */, + 0747FED71CC63A9800096FC3 /* options.cpp in Sources */, + 0747FEC01CC63A1400096FC3 /* clean_file.cpp in Sources */, + 0747FEDB1CC63A9800096FC3 /* structure_types.cpp in Sources */, + 0747FED81CC63A9800096FC3 /* parsed_file.cpp in Sources */, + 0747FEC11CC63A1400096FC3 /* cpp_file.cpp in Sources */, + 0747FEBE1CC63A1400096FC3 /* basic_tokenized_file.cpp in Sources */, + 0747FED51CC63A9800096FC3 /* main.cpp in Sources */, + 0747FED91CC63A9800096FC3 /* processor.cpp in Sources */, + 0747FEC21CC63A1400096FC3 /* logging.cpp in Sources */, + 0747FED41CC63A9800096FC3 /* generator.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 0747FE5F1CC62B8500096FC3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_TREAT_WARNINGS_AS_ERRORS = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "/usr/local/Qt-5.5.1/include", + ../../../SourceFiles, + ); + LIBRARY_SEARCH_PATHS = "/usr/local/Qt-5.5.1/lib"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = YES; + OBJROOT = "./../../../../Mac/obj/codegen_style/$(CONFIGURATION)"; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = ( + "-Wall", + "-DQT_GUI_LIB", + "-DQT_CORE_LIB", + ); + OTHER_LDFLAGS = ( + "-lQt5Core_debug", + "-lQt5Gui_debug", + "-lqtpcre_debug", + "-lqtharfbuzzng_debug", + "-lz", + ); + SDKROOT = macosx; + SYMROOT = ./../../../../Mac/codegen/; + }; + name = Debug; + }; + 0747FE601CC62B8500096FC3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = ""; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_TREAT_WARNINGS_AS_ERRORS = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ( + "/usr/local/Qt-5.5.1/include", + ../../../SourceFiles, + ); + LIBRARY_SEARCH_PATHS = "/usr/local/Qt-5.5.1/lib"; + MACOSX_DEPLOYMENT_TARGET = 10.11; + MTL_ENABLE_DEBUG_INFO = NO; + OBJROOT = "./../../../../Mac/obj/codegen_style/$(CONFIGURATION)"; + OTHER_CFLAGS = ( + "-Wall", + "-DQT_GUI_LIB", + "-DQT_CORE_LIB", + ); + OTHER_LDFLAGS = ( + "-lQt5Core", + "-lQt5Gui", + "-lqtharfbuzzng", + "-lqtpcre", + "-lz", + ); + SDKROOT = macosx; + SYMROOT = ./../../../../Mac/codegen/; + }; + name = Release; + }; + 0747FE621CC62B8500096FC3 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 0747FE631CC62B8500096FC3 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 0747FE551CC62B8500096FC3 /* Build configuration list for PBXProject "codegen_style" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0747FE5F1CC62B8500096FC3 /* Debug */, + 0747FE601CC62B8500096FC3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 0747FE611CC62B8500096FC3 /* Build configuration list for PBXNativeTarget "codegen_style" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 0747FE621CC62B8500096FC3 /* Debug */, + 0747FE631CC62B8500096FC3 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 0747FE521CC62B8500096FC3 /* Project object */; +} From 0501633c75070c21abb3fcc7ebf4ba4f4bb194ae Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 19 Apr 2016 15:06:52 +0300 Subject: [PATCH 08/16] Added codegen_style/numbers QtCreator projects. Telegram.pro still broken. --- .gitignore | 1 + .../SourceFiles/codegen/style/generator.cpp | 5 +- .../inline_bots/inline_bot_result.h | 2 +- .../qmake/codegen_numbers/codegen_numbers.pro | 45 ++++++++++++++++ .../qmake/codegen_style/codegen_style.pro | 51 +++++++++++++++++++ 5 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 Telegram/build/qmake/codegen_numbers/codegen_numbers.pro create mode 100644 Telegram/build/qmake/codegen_style/codegen_style.pro diff --git a/.gitignore b/.gitignore index fd44deed6..1aa7e98b8 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ project.xcworkspace xcuserdata /Telegram/*.user.* +*.pro.user /Linux/ /Telegram/Makefile *.*~ diff --git a/Telegram/SourceFiles/codegen/style/generator.cpp b/Telegram/SourceFiles/codegen/style/generator.cpp index 6609ef572..7db0d1993 100644 --- a/Telegram/SourceFiles/codegen/style/generator.cpp +++ b/Telegram/SourceFiles/codegen/style/generator.cpp @@ -20,9 +20,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "codegen/style/generator.h" +#include +#include #include #include -#include #include "codegen/style/parsed_file.h" using Module = codegen::style::structure::Module; @@ -54,7 +55,7 @@ char hexFirstChar(char ch) { QString stringToEncodedString(const std::string &str) { QString result; result.reserve(str.size() * 4); - for (auto ch : str) { + for (uchar ch : str) { if (ch == '\n') { result.append("\\n"); } else if (ch == '\t') { diff --git a/Telegram/SourceFiles/inline_bots/inline_bot_result.h b/Telegram/SourceFiles/inline_bots/inline_bot_result.h index cf98a37ff..5da9808fa 100644 --- a/Telegram/SourceFiles/inline_bots/inline_bot_result.h +++ b/Telegram/SourceFiles/inline_bots/inline_bot_result.h @@ -43,7 +43,7 @@ private: public: - // Constructor is public only for std::make_unique<>() to work. + // Constructor is public only for std_::make_unique<>() to work. // You should use create() static method instead. explicit Result(const Creator &creator); static std_::unique_ptr create(uint64 queryId, const MTPBotInlineResult &mtpData); diff --git a/Telegram/build/qmake/codegen_numbers/codegen_numbers.pro b/Telegram/build/qmake/codegen_numbers/codegen_numbers.pro new file mode 100644 index 000000000..c7da68a13 --- /dev/null +++ b/Telegram/build/qmake/codegen_numbers/codegen_numbers.pro @@ -0,0 +1,45 @@ +QT += core gui + +TARGET = codegen_numbers +CONFIG += console static c++14 +CONFIG -= app_bundle + +CONFIG(debug, debug|release) { + OBJECTS_DIR = ./ + DESTDIR = ./../../../codegen/Debug +} +CONFIG(release, debug|release) { + OBJECTS_DIR = ./ + DESTDIR = ./../../../codegen/Release +} + +INCLUDEPATH += ./../../../SourceFiles + +QMAKE_CFLAGS_WARN_ON += -Wno-missing-field-initializers +QMAKE_CXXFLAGS_WARN_ON += -Wno-missing-field-initializers + +TEMPLATE = app + +SOURCES += \ +./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp\ +./../../../SourceFiles/codegen/common/checked_utf8_string.cpp\ +./../../../SourceFiles/codegen/common/clean_file.cpp\ +./../../../SourceFiles/codegen/common/cpp_file.cpp\ +./../../../SourceFiles/codegen/common/logging.cpp\ +./../../../SourceFiles/codegen/numbers/generator.cpp\ +./../../../SourceFiles/codegen/numbers/main.cpp\ +./../../../SourceFiles/codegen/numbers/options.cpp\ +./../../../SourceFiles/codegen/numbers/parsed_file.cpp\ +./../../../SourceFiles/codegen/numbers/processor.cpp + +HEADERS += \ +./../../../SourceFiles/codegen/common/basic_tokenized_file.h\ +./../../../SourceFiles/codegen/common/checked_utf8_string.h\ +./../../../SourceFiles/codegen/common/clean_file.h\ +./../../../SourceFiles/codegen/common/clean_file_reader.h\ +./../../../SourceFiles/codegen/common/cpp_file.h\ +./../../../SourceFiles/codegen/common/logging.h\ +./../../../SourceFiles/codegen/numbers/generator.h\ +./../../../SourceFiles/codegen/numbers/options.h\ +./../../../SourceFiles/codegen/numbers/parsed_file.h\ +./../../../SourceFiles/codegen/numbers/processor.h diff --git a/Telegram/build/qmake/codegen_style/codegen_style.pro b/Telegram/build/qmake/codegen_style/codegen_style.pro new file mode 100644 index 000000000..ebfdd1ebe --- /dev/null +++ b/Telegram/build/qmake/codegen_style/codegen_style.pro @@ -0,0 +1,51 @@ +QT += core gui + +TARGET = codegen_style +CONFIG += console static c++14 +CONFIG -= app_bundle + +CONFIG(debug, debug|release) { + OBJECTS_DIR = ./ + DESTDIR = ./../../../codegen/Debug +} +CONFIG(release, debug|release) { + OBJECTS_DIR = ./ + DESTDIR = ./../../../codegen/Release +} + +INCLUDEPATH += ./../../../SourceFiles + +QMAKE_CFLAGS_WARN_ON += -Wno-missing-field-initializers +QMAKE_CXXFLAGS_WARN_ON += -Wno-missing-field-initializers + +TEMPLATE = app + +SOURCES += \ +./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp\ +./../../../SourceFiles/codegen/common/checked_utf8_string.cpp\ +./../../../SourceFiles/codegen/common/clean_file.cpp\ +./../../../SourceFiles/codegen/common/cpp_file.cpp\ +./../../../SourceFiles/codegen/common/logging.cpp\ +./../../../SourceFiles/codegen/style/generator.cpp\ +./../../../SourceFiles/codegen/style/main.cpp\ +./../../../SourceFiles/codegen/style/module.cpp\ +./../../../SourceFiles/codegen/style/options.cpp\ +./../../../SourceFiles/codegen/style/parsed_file.cpp\ +./../../../SourceFiles/codegen/style/processor.cpp\ +./../../../SourceFiles/codegen/style/sprite_generator.cpp\ +./../../../SourceFiles/codegen/style/structure_types.cpp + +HEADERS += \ +./../../../SourceFiles/codegen/common/basic_tokenized_file.h\ +./../../../SourceFiles/codegen/common/checked_utf8_string.h\ +./../../../SourceFiles/codegen/common/clean_file.h\ +./../../../SourceFiles/codegen/common/clean_file_reader.h\ +./../../../SourceFiles/codegen/common/cpp_file.h\ +./../../../SourceFiles/codegen/common/logging.h\ +./../../../SourceFiles/codegen/style/generator.h\ +./../../../SourceFiles/codegen/style/module.h\ +./../../../SourceFiles/codegen/style/options.h\ +./../../../SourceFiles/codegen/style/parsed_file.h\ +./../../../SourceFiles/codegen/style/processor.h\ +./../../../SourceFiles/codegen/style/sprite_generator.h\ +./../../../SourceFiles/codegen/style/structure_types.h From 18d86663120ff61fa1e1b09d95bf91c77a0929f8 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 19 Apr 2016 16:52:51 +0300 Subject: [PATCH 09/16] Moved to g++ 4.9, fixed some warnings, codegen used for Linux build. --- Telegram/SourceFiles/core/basic_types.cpp | 62 +++++-------------- .../inline_bots/inline_bot_result.cpp | 28 --------- .../inline_bots/inline_bot_result.h | 1 - Telegram/SourceFiles/localstorage.cpp | 25 -------- Telegram/SourceFiles/ui/text/text.cpp | 2 +- Telegram/Telegram.pro | 55 ++++++++-------- .../qmake/codegen_numbers/codegen_numbers.pro | 36 +++++------ .../qmake/codegen_style/codegen_style.pro | 48 +++++++------- 8 files changed, 88 insertions(+), 169 deletions(-) diff --git a/Telegram/SourceFiles/core/basic_types.cpp b/Telegram/SourceFiles/core/basic_types.cpp index 5d1bc6874..79851ca37 100644 --- a/Telegram/SourceFiles/core/basic_types.cpp +++ b/Telegram/SourceFiles/core/basic_types.cpp @@ -45,52 +45,22 @@ uint64 _SharedMemoryLocation[4] = { 0x00, 0x01, 0x02, 0x03 }; // Base types compile-time check -#ifdef TDESKTOP_CUSTOM_NULLPTR -NullPointerClass nullptr; -#endif - -namespace { - template - class _TypeSizeCheckerHelper { - public: - _TypeSizeCheckerHelper() { - int _BadTypeSize[N ? -1 : 1]; - (void)sizeof(_BadTypeSize); - } - }; - - template - class _TypeSizeCheckerHelper { - public: - _TypeSizeCheckerHelper() { - } - }; - - template - class _TypeSizeChecker { - _TypeSizeCheckerHelper checker; - }; - - void _typesCheck() { - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - _TypeSizeChecker(); - } -} +static_assert(sizeof(char) == 1, "Basic types size check failed"); +static_assert(sizeof(uchar) == 1, "Basic types size check failed"); +static_assert(sizeof(int16) == 2, "Basic types size check failed"); +static_assert(sizeof(uint16) == 2, "Basic types size check failed"); +static_assert(sizeof(int32) == 4, "Basic types size check failed"); +static_assert(sizeof(uint32) == 4, "Basic types size check failed"); +static_assert(sizeof(int64) == 8, "Basic types size check failed"); +static_assert(sizeof(uint64) == 8, "Basic types size check failed"); +static_assert(sizeof(float32) == 4, "Basic types size check failed"); +static_assert(sizeof(float64) == 8, "Basic types size check failed"); +static_assert(sizeof(mtpPrime) == 4, "Basic types size check failed"); +static_assert(sizeof(MTPint) == 4, "Basic types size check failed"); +static_assert(sizeof(MTPlong) == 8, "Basic types size check failed"); +static_assert(sizeof(MTPint128) == 16, "Basic types size check failed"); +static_assert(sizeof(MTPint256) == 32, "Basic types size check failed"); +static_assert(sizeof(MTPdouble) == 8, "Basic types size check failed"); // Unixtime functions diff --git a/Telegram/SourceFiles/inline_bots/inline_bot_result.cpp b/Telegram/SourceFiles/inline_bots/inline_bot_result.cpp index eb735f586..4afa92309 100644 --- a/Telegram/SourceFiles/inline_bots/inline_bot_result.cpp +++ b/Telegram/SourceFiles/inline_bots/inline_bot_result.cpp @@ -29,34 +29,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org namespace InlineBots { -namespace { - -using ResultsByLoaderMap = QMap; -NeverFreedPointer ResultsByLoader; - -void regLoader(FileLoader *loader, Result *result) { - ResultsByLoader.createIfNull([]() -> ResultsByLoaderMap* { - return new ResultsByLoaderMap(); - }); - ResultsByLoader->insert(loader, result); -} - -void unregLoader(FileLoader *loader) { - if (!ResultsByLoader) { - return; - } - ResultsByLoader->remove(loader); -} - -} // namespace - -Result *getResultFromLoader(FileLoader *loader) { - if (!ResultsByLoader) { - return nullptr; - } - return ResultsByLoader->value(loader, nullptr); -} - Result::Result(const Creator &creator) : _queryId(creator.queryId), _type(creator.type) { } diff --git a/Telegram/SourceFiles/inline_bots/inline_bot_result.h b/Telegram/SourceFiles/inline_bots/inline_bot_result.h index 5da9808fa..105b50b46 100644 --- a/Telegram/SourceFiles/inline_bots/inline_bot_result.h +++ b/Telegram/SourceFiles/inline_bots/inline_bot_result.h @@ -120,6 +120,5 @@ private: std_::unique_ptr sendData; }; -Result *getResultFromLoader(FileLoader *loader); } // namespace InlineBots diff --git a/Telegram/SourceFiles/localstorage.cpp b/Telegram/SourceFiles/localstorage.cpp index dc5a34e39..8fde7156c 100644 --- a/Telegram/SourceFiles/localstorage.cpp +++ b/Telegram/SourceFiles/localstorage.cpp @@ -48,27 +48,6 @@ namespace { return result; } - FileKey fromFilePart(const QString &val) { - FileKey result = 0; - int32 i = val.size(); - if (i != 0x10) return 0; - - while (i > 0) { - --i; - result <<= 4; - - uint16 ch = val.at(i).unicode(); - if (ch >= 'A' && ch <= 'F') { - result |= (ch - 'A') + 0x0A; - } else if (ch >= '0' && ch <= '9') { - result |= (ch - '0'); - } else { - return 0; - } - } - return result; - } - QString _basePath, _userBasePath; bool _started = false; @@ -360,10 +339,6 @@ namespace { return false; } - bool fileExists(const FileKey &fkey, int options = UserPath | SafePath) { - return fileExists(toFilePart(fkey), options); - } - bool readFile(FileReadDescriptor &result, const QString &name, int options = UserPath | SafePath) { if (options & UserPath) { if (!_userWorking()) return false; diff --git a/Telegram/SourceFiles/ui/text/text.cpp b/Telegram/SourceFiles/ui/text/text.cpp index 3df18ee76..3d0c46d37 100644 --- a/Telegram/SourceFiles/ui/text/text.cpp +++ b/Telegram/SourceFiles/ui/text/text.cpp @@ -1591,7 +1591,7 @@ public: if (_wLeft < si.width) { lineText = lineText.mid(0, currentBlock->from() - _localFrom) + _Elide; lineLength = currentBlock->from() + _Elide.size() - _lineStart; - _selection.to = _selection.to = qMin(_selection.to, currentBlock->from()); + _selection.to = qMin(_selection.to, currentBlock->from()); setElideBidi(currentBlock->from(), _Elide.size()); elideSaveBlock(blockIndex - 1, _endBlock, currentBlock->from(), elideWidth); return; diff --git a/Telegram/Telegram.pro b/Telegram/Telegram.pro index 7b69fedb8..00a280f2c 100644 --- a/Telegram/Telegram.pro +++ b/Telegram/Telegram.pro @@ -29,25 +29,20 @@ linux { HEADERS += ./SourceFiles/pspecific_linux.h } -style_auto_cpp.target = ./GeneratedFiles/style_auto.cpp -style_auto_cpp.depends = FORCE -style_auto_cpp.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugStyle/MetaStyle -classes_in ./../../Telegram/Resources/style_classes.txt -classes_out ./../../Telegram/GeneratedFiles/style_classes.h -styles_in ./../../Telegram/Resources/style.txt -styles_out ./../../Telegram/GeneratedFiles/style_auto.h -path_to_sprites ./../../Telegram/Resources/art/ -style_auto_cpp.depends = ./../../Telegram/Resources/style.txt +codegen_style.target = ./GeneratedFiles/styles/style_basic_types.h +codegen_style.depends = FORCE -style_auto_h.target = ./GeneratedFiles/style_auto.h -style_auto_h.depends = FORCE -style_auto_h.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugStyle/MetaStyle -classes_in ./../../Telegram/Resources/style_classes.txt -classes_out ./../../Telegram/GeneratedFiles/style_classes.h -styles_in ./../../Telegram/Resources/style.txt -styles_out ./../../Telegram/GeneratedFiles/style_auto.h -path_to_sprites ./../../Telegram/Resources/art/ -style_auto_h.depends = ./../../Telegram/Resources/style.txt +codegen_numbers.target = ./GeneratedFiles/numbers.cpp +codegen_numbers.depends = ./../../Telegram/Resources/numbers.txt -style_classes_h.target = ./GeneratedFiles/style_classes.h -style_classes_h.depends = FORCE -style_classes_h.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugStyle/MetaStyle -classes_in ./../../Telegram/Resources/style_classes.txt -classes_out ./../../Telegram/GeneratedFiles/style_classes.h -styles_in ./../../Telegram/Resources/style.txt -styles_out ./../../Telegram/GeneratedFiles/style_auto.h -path_to_sprites ./../../Telegram/Resources/art/ -style_classes_h.depends = ./../../Telegram/Resources/style_classes.txt - -numbers_cpp.target = ./GeneratedFiles/numbers.cpp -numbers_cpp.depends = FORCE -numbers_cpp.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugStyle/MetaStyle -classes_in ./../../Telegram/Resources/style_classes.txt -classes_out ./../../Telegram/GeneratedFiles/style_classes.h -styles_in ./../../Telegram/Resources/style.txt -styles_out ./../../Telegram/GeneratedFiles/style_auto.h -path_to_sprites ./../../Telegram/Resources/art/ -numbers_cpp.depends = ./../../Telegram/Resources/numbers.txt +CONFIG(debug, debug|release) { +codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/DebugIntermediate +codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/DebugIntermediate +} +CONFIG(release, debug|release) { +codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/ReleaseIntermediate +codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/ReleaseIntermediate +} lang_auto_cpp.target = ./GeneratedFiles/lang_auto.cpp lang_auto_cpp.depends = FORCE @@ -59,13 +54,19 @@ lang_auto_h.depends = FORCE lang_auto_h.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugLang/MetaLang -lang_in ./../../Telegram/Resources/lang.strings -lang_out ./../../Telegram/GeneratedFiles/lang_auto lang_auto_h.depends = ./../../Telegram/Resources/lang.strings -hook.depends = style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h +#hook.depends = style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h +hook.depends = codegen_style codegen_numbers lang_auto_cpp lang_auto_h CONFIG(debug,debug|release):hook.target = Makefile.Debug CONFIG(release,debug|release):hook.target = Makefile.Release -QMAKE_EXTRA_TARGETS += style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h hook +#QMAKE_EXTRA_TARGETS += style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h hook +QMAKE_EXTRA_TARGETS += codegen_style codegen_numbers lang_auto_cpp lang_auto_h hook -PRE_TARGETDEPS += ./GeneratedFiles/style_auto.cpp ./GeneratedFiles/style_auto.h ./GeneratedFiles/style_classes.h ./GeneratedFiles/numbers.cpp ./GeneratedFiles/lang_auto.h ./GeneratedFiles/lang_auto.cpp +#PRE_TARGETDEPS += ./GeneratedFiles/style_auto.cpp ./GeneratedFiles/style_auto.h ./GeneratedFiles/style_classes.h ./GeneratedFiles/numbers.cpp ./GeneratedFiles/lang_auto.h ./GeneratedFiles/lang_auto.cpp +PRE_TARGETDEPS += \ +./GeneratedFiles/styles/style_basic_types.h \ +./GeneratedFiles/lang_auto.h \ +./GeneratedFiles/lang_auto.cpp unix { linux-g++:QMAKE_TARGET.arch = $$QMAKE_HOST.arch @@ -81,8 +82,9 @@ unix { SOURCES += \ ./GeneratedFiles/lang_auto.cpp \ - ./GeneratedFiles/style_auto.cpp \ ./GeneratedFiles/numbers.cpp \ + ./GeneratedFiles/styles/style_basic.cpp \ + ./GeneratedFiles/styles/style_basic_types.cpp \ ./SourceFiles/main.cpp \ ./SourceFiles/stdafx.cpp \ ./SourceFiles/apiwrap.cpp \ @@ -193,8 +195,9 @@ SOURCES += \ HEADERS += \ ./GeneratedFiles/lang_auto.h \ - ./GeneratedFiles/style_auto.h \ - ./GeneratedFiles/style_classes.h \ + ./GeneratedFiles/numbers.h \ + ./GeneratedFiles/styles/style_basic.h \ + ./GeneratedFiles/styles/style_basic_types.h \ ./SourceFiles/stdafx.h \ ./SourceFiles/apiwrap.h \ ./SourceFiles/app.h \ @@ -214,7 +217,6 @@ HEADERS += \ ./SourceFiles/layerwidget.h \ ./SourceFiles/layout.h \ ./SourceFiles/mediaview.h \ - ./SourceFiles/numbers.h \ ./SourceFiles/overviewwidget.h \ ./SourceFiles/passcodewidget.h \ ./SourceFiles/profilewidget.h \ @@ -400,8 +402,9 @@ RESOURCES += \ ./Resources/telegram_emojis.qrc OTHER_FILES += \ - ./Resources/style_classes.txt \ - ./Resources/style.txt \ + ./Resources/basic_types.style \ + ./Resources/basic.style \ + ./Resources/all_files.style \ ./Resources/lang.strings \ ./Resources/langs/lang_it.strings \ ./Resources/langs/lang_es.strings \ diff --git a/Telegram/build/qmake/codegen_numbers/codegen_numbers.pro b/Telegram/build/qmake/codegen_numbers/codegen_numbers.pro index c7da68a13..a3927f5a6 100644 --- a/Telegram/build/qmake/codegen_numbers/codegen_numbers.pro +++ b/Telegram/build/qmake/codegen_numbers/codegen_numbers.pro @@ -21,25 +21,25 @@ QMAKE_CXXFLAGS_WARN_ON += -Wno-missing-field-initializers TEMPLATE = app SOURCES += \ -./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp\ -./../../../SourceFiles/codegen/common/checked_utf8_string.cpp\ -./../../../SourceFiles/codegen/common/clean_file.cpp\ -./../../../SourceFiles/codegen/common/cpp_file.cpp\ -./../../../SourceFiles/codegen/common/logging.cpp\ -./../../../SourceFiles/codegen/numbers/generator.cpp\ -./../../../SourceFiles/codegen/numbers/main.cpp\ -./../../../SourceFiles/codegen/numbers/options.cpp\ -./../../../SourceFiles/codegen/numbers/parsed_file.cpp\ +./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp \ +./../../../SourceFiles/codegen/common/checked_utf8_string.cpp \ +./../../../SourceFiles/codegen/common/clean_file.cpp \ +./../../../SourceFiles/codegen/common/cpp_file.cpp \ +./../../../SourceFiles/codegen/common/logging.cpp \ +./../../../SourceFiles/codegen/numbers/generator.cpp \ +./../../../SourceFiles/codegen/numbers/main.cpp \ +./../../../SourceFiles/codegen/numbers/options.cpp \ +./../../../SourceFiles/codegen/numbers/parsed_file.cpp \ ./../../../SourceFiles/codegen/numbers/processor.cpp HEADERS += \ -./../../../SourceFiles/codegen/common/basic_tokenized_file.h\ -./../../../SourceFiles/codegen/common/checked_utf8_string.h\ -./../../../SourceFiles/codegen/common/clean_file.h\ -./../../../SourceFiles/codegen/common/clean_file_reader.h\ -./../../../SourceFiles/codegen/common/cpp_file.h\ -./../../../SourceFiles/codegen/common/logging.h\ -./../../../SourceFiles/codegen/numbers/generator.h\ -./../../../SourceFiles/codegen/numbers/options.h\ -./../../../SourceFiles/codegen/numbers/parsed_file.h\ +./../../../SourceFiles/codegen/common/basic_tokenized_file.h \ +./../../../SourceFiles/codegen/common/checked_utf8_string.h \ +./../../../SourceFiles/codegen/common/clean_file.h \ +./../../../SourceFiles/codegen/common/clean_file_reader.h \ +./../../../SourceFiles/codegen/common/cpp_file.h \ +./../../../SourceFiles/codegen/common/logging.h \ +./../../../SourceFiles/codegen/numbers/generator.h \ +./../../../SourceFiles/codegen/numbers/options.h \ +./../../../SourceFiles/codegen/numbers/parsed_file.h \ ./../../../SourceFiles/codegen/numbers/processor.h diff --git a/Telegram/build/qmake/codegen_style/codegen_style.pro b/Telegram/build/qmake/codegen_style/codegen_style.pro index ebfdd1ebe..9b5f4405d 100644 --- a/Telegram/build/qmake/codegen_style/codegen_style.pro +++ b/Telegram/build/qmake/codegen_style/codegen_style.pro @@ -21,31 +21,31 @@ QMAKE_CXXFLAGS_WARN_ON += -Wno-missing-field-initializers TEMPLATE = app SOURCES += \ -./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp\ -./../../../SourceFiles/codegen/common/checked_utf8_string.cpp\ -./../../../SourceFiles/codegen/common/clean_file.cpp\ -./../../../SourceFiles/codegen/common/cpp_file.cpp\ -./../../../SourceFiles/codegen/common/logging.cpp\ -./../../../SourceFiles/codegen/style/generator.cpp\ -./../../../SourceFiles/codegen/style/main.cpp\ -./../../../SourceFiles/codegen/style/module.cpp\ -./../../../SourceFiles/codegen/style/options.cpp\ -./../../../SourceFiles/codegen/style/parsed_file.cpp\ -./../../../SourceFiles/codegen/style/processor.cpp\ -./../../../SourceFiles/codegen/style/sprite_generator.cpp\ +./../../../SourceFiles/codegen/common/basic_tokenized_file.cpp \ +./../../../SourceFiles/codegen/common/checked_utf8_string.cpp \ +./../../../SourceFiles/codegen/common/clean_file.cpp \ +./../../../SourceFiles/codegen/common/cpp_file.cpp \ +./../../../SourceFiles/codegen/common/logging.cpp \ +./../../../SourceFiles/codegen/style/generator.cpp \ +./../../../SourceFiles/codegen/style/main.cpp \ +./../../../SourceFiles/codegen/style/module.cpp \ +./../../../SourceFiles/codegen/style/options.cpp \ +./../../../SourceFiles/codegen/style/parsed_file.cpp \ +./../../../SourceFiles/codegen/style/processor.cpp \ +./../../../SourceFiles/codegen/style/sprite_generator.cpp \ ./../../../SourceFiles/codegen/style/structure_types.cpp HEADERS += \ -./../../../SourceFiles/codegen/common/basic_tokenized_file.h\ -./../../../SourceFiles/codegen/common/checked_utf8_string.h\ -./../../../SourceFiles/codegen/common/clean_file.h\ -./../../../SourceFiles/codegen/common/clean_file_reader.h\ -./../../../SourceFiles/codegen/common/cpp_file.h\ -./../../../SourceFiles/codegen/common/logging.h\ -./../../../SourceFiles/codegen/style/generator.h\ -./../../../SourceFiles/codegen/style/module.h\ -./../../../SourceFiles/codegen/style/options.h\ -./../../../SourceFiles/codegen/style/parsed_file.h\ -./../../../SourceFiles/codegen/style/processor.h\ -./../../../SourceFiles/codegen/style/sprite_generator.h\ +./../../../SourceFiles/codegen/common/basic_tokenized_file.h \ +./../../../SourceFiles/codegen/common/checked_utf8_string.h \ +./../../../SourceFiles/codegen/common/clean_file.h \ +./../../../SourceFiles/codegen/common/clean_file_reader.h \ +./../../../SourceFiles/codegen/common/cpp_file.h \ +./../../../SourceFiles/codegen/common/logging.h \ +./../../../SourceFiles/codegen/style/generator.h \ +./../../../SourceFiles/codegen/style/module.h \ +./../../../SourceFiles/codegen/style/options.h \ +./../../../SourceFiles/codegen/style/parsed_file.h \ +./../../../SourceFiles/codegen/style/processor.h \ +./../../../SourceFiles/codegen/style/sprite_generator.h \ ./../../../SourceFiles/codegen/style/structure_types.h From ec40b5a9d9ee24138ec40a3ff9d6eb85189a0c83 Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 19 Apr 2016 17:01:32 +0300 Subject: [PATCH 10/16] Include directories unified. --- Telegram/Telegram.vcxproj | 432 +++++++++--------- Telegram/Telegram.vcxproj.filters | 6 - .../codegen_numbers/codegen_numbers.vcxproj | 4 +- .../vc/codegen_style/codegen_style.vcxproj | 4 +- 4 files changed, 220 insertions(+), 226 deletions(-) diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index 6bf9744be..6b7d7bc3d 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -69,7 +69,7 @@ AL_LIBTYPE_STATIC;UNICODE;WIN32;WIN64;HAVE_STDINT_H;ZLIB_WINAPI;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - .\..\..\Libraries\lzma\C;.\..\..\Libraries\libexif-0.6.20;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\openssl_debug\Debug\include;.\..\..\Libraries\ffmpeg;.\..\..\Libraries\openal-soft\include;.\..\..\Libraries\breakpad\src;.\ThirdParty\minizip;.\SourceFiles;.\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore;.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui;%(AdditionalIncludeDirectories) + .\SourceFiles;.\GeneratedFiles;.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore;.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui;.\..\..\Libraries\breakpad\src;.\..\..\Libraries\lzma\C;.\..\..\Libraries\libexif-0.6.20;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\ffmpeg;.\..\..\Libraries\openal-soft\include;.\ThirdParty\minizip;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\Libraries\openssl_debug\Debug\include;%(AdditionalIncludeDirectories) ProgramDatabase false Use @@ -99,7 +99,7 @@ AL_LIBTYPE_STATIC;UNICODE;WIN32;WIN64;HAVE_STDINT_H;ZLIB_WINAPI;QT_NO_DEBUG;NDEBUG;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - .\..\..\Libraries\lzma\C;.\..\..\Libraries\libexif-0.6.20;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\openssl\Release\include;.\..\..\Libraries\ffmpeg;.\..\..\Libraries\openal-soft\include;.\SourceFiles;.\GeneratedFiles;.\..\..\Libraries\breakpad\src;.\ThirdParty\minizip;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore;.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui;%(AdditionalIncludeDirectories) + .\SourceFiles;.\GeneratedFiles;.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore;.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui;.\..\..\Libraries\breakpad\src;.\..\..\Libraries\lzma\C;.\..\..\Libraries\libexif-0.6.20;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\ffmpeg;.\..\..\Libraries\openal-soft\include;.\ThirdParty\minizip;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\Libraries\openssl\Release\include;%(AdditionalIncludeDirectories) ProgramDatabase MultiThreaded false @@ -132,7 +132,7 @@ AL_LIBTYPE_STATIC;CUSTOM_API_ID;UNICODE;WIN32;WIN64;HAVE_STDINT_H;ZLIB_WINAPI;QT_NO_DEBUG;NDEBUG;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - .\..\..\Libraries\lzma\C;.\..\..\Libraries\libexif-0.6.20;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\openssl\Release\include;.\..\..\Libraries\ffmpeg;.\..\..\Libraries\openal-soft\include;.\SourceFiles;.\GeneratedFiles;.\..\..\Libraries\breakpad\src;.\ThirdParty\minizip;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore;.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui;%(AdditionalIncludeDirectories) + .\SourceFiles;.\GeneratedFiles;.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore;.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui;.\..\..\Libraries\breakpad\src;.\..\..\Libraries\lzma\C;.\..\..\Libraries\libexif-0.6.20;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\ffmpeg;.\..\..\Libraries\openal-soft\include;.\ThirdParty\minizip;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\Libraries\openssl\Release\include;%(AdditionalIncludeDirectories) ProgramDatabase MultiThreaded false @@ -1191,15 +1191,15 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_winrt.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/pspecific_winrt.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_winrt.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_winrt.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/pspecific_winrt.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/pspecific_winrt.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_winrt.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/pspecific_winrt.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_winrt.h" true true true @@ -1208,43 +1208,43 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_http.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_http.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_http.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_http.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_http.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_http.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_http.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_http.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_http.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_tcp.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_tcp.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_tcp.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_tcp.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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 -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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_tcp.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_tcp.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_tcp.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing basic_types.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/core/basic_types.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing basic_types.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/core/basic_types.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing basic_types.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/core/basic_types.h" @@ -1266,69 +1266,69 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_abstract.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_abstract.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_abstract.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_abstract.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_abstract.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_abstract.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_abstract.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_abstract.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_abstract.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_auto.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_auto.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_auto.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_auto.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_auto.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_auto.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_auto.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_auto.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_auto.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing dcenter.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/dcenter.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/dcenter.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing dcenter.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/dcenter.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/dcenter.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing dcenter.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/dcenter.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/dcenter.h" Moc%27ing facade.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.h" Moc%27ing facade.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.h" Moc%27ing facade.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1337,15 +1337,15 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing file_download.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/file_download.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/file_download.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing file_download.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/file_download.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/file_download.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing file_download.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/file_download.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/file_download.h" @@ -1354,15 +1354,15 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing session.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/mtproto/session.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/session.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing session.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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 -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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/session.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing session.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/session.h" @@ -1372,44 +1372,44 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing animation.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/animation.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/animation.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing animation.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/animation.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/animation.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing animation.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/animation.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/animation.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing button.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/button.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/button.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing button.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/button.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/button.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing button.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/button.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/button.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing countryinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/countryinput.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/countryinput.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing countryinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/countryinput.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/countryinput.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing countryinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/countryinput.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/countryinput.h" @@ -1418,100 +1418,100 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatbutton.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatbutton.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatbutton.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatbutton.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatbutton.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flatbutton.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatbutton.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatbutton.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatbutton.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatcheckbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatcheckbox.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatcheckbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatcheckbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatcheckbox.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flatcheckbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatcheckbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatcheckbox.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatcheckbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatinput.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatinput.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatinput.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flatinput.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatinput.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatinput.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatlabel.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatlabel.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatlabel.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatlabel.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatlabel.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flatlabel.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatlabel.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flatlabel.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatlabel.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flattextarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flattextarea.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flattextarea.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flattextarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flattextarea.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flattextarea.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flattextarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/flattextarea.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/flattextarea.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing popupmenu.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/popupmenu.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/popupmenu.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing popupmenu.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/popupmenu.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/popupmenu.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing popupmenu.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/popupmenu.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/popupmenu.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing scrollarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing scrollarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing scrollarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.h" @@ -1519,15 +1519,15 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing twidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/twidget.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/twidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing twidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/twidget.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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/twidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing twidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/twidget.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/twidget.h" @@ -1537,30 +1537,30 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing toast_manager.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing toast_manager.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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 -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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing toast_manager.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing top_bar_widget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/window/top_bar_widget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing top_bar_widget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/window/top_bar_widget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing top_bar_widget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/window/top_bar_widget.h" @@ -1568,13 +1568,13 @@ Moc%27ing mainwindow.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mainwindow.h" Moc%27ing mainwindow.h... Moc%27ing mainwindow.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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" - "$(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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mainwindow.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mainwindow.h" $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) @@ -1592,13 +1592,13 @@ Moc%27ing application.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/application.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/application.h" Moc%27ing application.h... Moc%27ing application.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/application.h" - "$(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/application.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/application.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/application.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1609,27 +1609,27 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing apiwrap.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/apiwrap.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/apiwrap.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing apiwrap.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/apiwrap.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/apiwrap.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing apiwrap.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/apiwrap.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/apiwrap.h" Moc%27ing aboutbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/aboutbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/aboutbox.h" Moc%27ing aboutbox.h... Moc%27ing aboutbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/aboutbox.h" - "$(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/boxes/aboutbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/aboutbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/aboutbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1637,13 +1637,13 @@ Moc%27ing addcontactbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/addcontactbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/addcontactbox.h" Moc%27ing addcontactbox.h... Moc%27ing addcontactbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/addcontactbox.h" - "$(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/boxes/addcontactbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/addcontactbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/addcontactbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1651,13 +1651,13 @@ Moc%27ing confirmbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/confirmbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/confirmbox.h" Moc%27ing confirmbox.h... Moc%27ing confirmbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/confirmbox.h" - "$(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/boxes/confirmbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/confirmbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/confirmbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1665,13 +1665,13 @@ Moc%27ing connectionbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/connectionbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/connectionbox.h" Moc%27ing connectionbox.h... Moc%27ing connectionbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/connectionbox.h" - "$(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/boxes/connectionbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/connectionbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/connectionbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1679,13 +1679,13 @@ Moc%27ing contactsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/contactsbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/contactsbox.h" Moc%27ing contactsbox.h... Moc%27ing contactsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/contactsbox.h" - "$(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/boxes/contactsbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/contactsbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/contactsbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1693,13 +1693,13 @@ Moc%27ing photocropbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/photocropbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/photocropbox.h" Moc%27ing photocropbox.h... Moc%27ing photocropbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/photocropbox.h" - "$(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/boxes/photocropbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/photocropbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/photocropbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1707,13 +1707,13 @@ Moc%27ing photosendbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/photosendbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/photosendbox.h" Moc%27ing photosendbox.h... Moc%27ing photosendbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/photosendbox.h" - "$(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/boxes/photosendbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/photosendbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/photosendbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1721,13 +1721,13 @@ Moc%27ing emojibox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/emojibox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/emojibox.h" Moc%27ing emojibox.h... Moc%27ing emojibox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/emojibox.h" - "$(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/boxes/emojibox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/emojibox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/emojibox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1735,13 +1735,13 @@ Moc%27ing downloadpathbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/downloadpathbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/downloadpathbox.h" Moc%27ing downloadpathbox.h... Moc%27ing downloadpathbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/downloadpathbox.h" - "$(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/boxes/downloadpathbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/downloadpathbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/downloadpathbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1750,154 +1750,154 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing audio.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/audio.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/audio.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing audio.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/audio.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/audio.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing audio.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/audio.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/audio.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing usernamebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/usernamebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/usernamebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing usernamebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/usernamebox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/usernamebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing usernamebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/usernamebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/usernamebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing languagebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/languagebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/languagebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing languagebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/languagebox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/languagebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing languagebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/languagebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/languagebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing backgroundbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/backgroundbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/backgroundbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing backgroundbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/backgroundbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/backgroundbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing backgroundbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/backgroundbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/backgroundbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autolockbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/autolockbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/autolockbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autolockbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/autolockbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/autolockbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autolockbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/autolockbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/autolockbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/passcodebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/passcodebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/passcodebox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/passcodebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/passcodebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/passcodebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing sessionsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/sessionsbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/sessionsbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing sessionsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/sessionsbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/sessionsbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing sessionsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/sessionsbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/sessionsbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing abstractbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/abstractbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/abstractbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing abstractbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/abstractbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/abstractbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing abstractbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/abstractbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/abstractbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing stickersetbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/stickersetbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/stickersetbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing stickersetbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/stickersetbox.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/stickersetbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing stickersetbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/boxes/stickersetbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/boxes/stickersetbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autoupdater.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/autoupdater.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/autoupdater.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autoupdater.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/autoupdater.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/autoupdater.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autoupdater.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/autoupdater.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/autoupdater.h" Moc%27ing dialogswidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/dialogswidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/dialogswidget.h" Moc%27ing dialogswidget.h... Moc%27ing dialogswidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/dialogswidget.h" - "$(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/dialogswidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/dialogswidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/dialogswidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1905,13 +1905,13 @@ Moc%27ing fileuploader.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/fileuploader.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/fileuploader.h" Moc%27ing fileuploader.h... Moc%27ing fileuploader.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/fileuploader.h" - "$(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/fileuploader.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/fileuploader.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/fileuploader.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1919,13 +1919,13 @@ Moc%27ing dropdown.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/dropdown.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/dropdown.h" Moc%27ing dropdown.h... Moc%27ing dropdown.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/dropdown.h" - "$(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/dropdown.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/dropdown.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/dropdown.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1934,13 +1934,13 @@ Moc%27ing history.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/history.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/history.h" Moc%27ing history.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/history.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/history.h" Moc%27ing history.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/history.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/history.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1948,13 +1948,13 @@ Moc%27ing historywidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/historywidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/historywidget.h" Moc%27ing historywidget.h... Moc%27ing historywidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/historywidget.h" - "$(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/historywidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/historywidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/historywidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1962,13 +1962,13 @@ Moc%27ing introwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/introwidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/introwidget.h" Moc%27ing introwidget.h... Moc%27ing introwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/intro/introwidget.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" - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/intro/introwidget.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/introwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/introwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) @@ -1976,13 +1976,13 @@ Moc%27ing introcode.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/introcode.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/introcode.h" Moc%27ing introcode.h... Moc%27ing introcode.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/introcode.h" - "$(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/intro/introcode.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/introcode.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/introcode.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -1990,13 +1990,13 @@ Moc%27ing introphone.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/introphone.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/introphone.h" Moc%27ing introphone.h... Moc%27ing introphone.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/introphone.h" - "$(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/intro/introphone.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/introphone.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/introphone.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2004,13 +2004,13 @@ Moc%27ing introsignup.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/introsignup.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/introsignup.h" Moc%27ing introsignup.h... Moc%27ing introsignup.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/introsignup.h" - "$(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/intro/introsignup.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/introsignup.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/introsignup.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2019,27 +2019,27 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing intropwdcheck.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/intropwdcheck.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/intropwdcheck.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing intropwdcheck.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/intropwdcheck.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/intropwdcheck.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing intropwdcheck.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/intro/intropwdcheck.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/intro/intropwdcheck.h" Moc%27ing layerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/layerwidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/layerwidget.h" Moc%27ing layerwidget.h... Moc%27ing layerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/layerwidget.h" - "$(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/layerwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/layerwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/layerwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2047,13 +2047,13 @@ Moc%27ing localimageloader.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/localimageloader.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/localimageloader.h" Moc%27ing localimageloader.h... Moc%27ing localimageloader.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/localimageloader.h" - "$(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/localimageloader.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/localimageloader.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/localimageloader.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2064,15 +2064,15 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing localstorage.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/localstorage.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/localstorage.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing localstorage.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/localstorage.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/localstorage.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing localstorage.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/localstorage.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/localstorage.h" @@ -2098,13 +2098,13 @@ Moc%27ing mainwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/mainwidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mainwidget.h" Moc%27ing mainwidget.h... Moc%27ing mainwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/mainwidget.h" - "$(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/mainwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mainwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mainwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2113,26 +2113,26 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing mediaview.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/mediaview.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mediaview.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing mediaview.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/mediaview.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mediaview.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing mediaview.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/mediaview.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mediaview.h" Moc%27ing settingswidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/settingswidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/settingswidget.h" Moc%27ing settingswidget.h... Moc%27ing settingswidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/settingswidget.h" - "$(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/settingswidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/settingswidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/settingswidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2140,13 +2140,13 @@ Moc%27ing profilewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/profilewidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/profilewidget.h" Moc%27ing profilewidget.h... Moc%27ing profilewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/profilewidget.h" - "$(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/profilewidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/profilewidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/profilewidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2154,13 +2154,13 @@ Moc%27ing pspecific_win.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/pspecific_win.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/pspecific_win.h" Moc%27ing pspecific_win.h... Moc%27ing pspecific_win.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/pspecific_win.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" - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" "-fstdafx.h" "-f../../SourceFiles/pspecific_win.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" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_win.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_win.h" $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath);$(QTDIR)\bin\moc.exe;%(FullPath) @@ -2169,58 +2169,58 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing overviewwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/overviewwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/overviewwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing overviewwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/overviewwidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/overviewwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing overviewwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/overviewwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/overviewwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/passcodewidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/passcodewidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/passcodewidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/passcodewidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/passcodewidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/passcodewidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing playerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/playerwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/playerwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing playerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/playerwidget.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/playerwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing playerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/playerwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/playerwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_linux.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/pspecific_linux.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_linux.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_linux.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/pspecific_linux.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/pspecific_linux.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_linux.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/pspecific_linux.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_linux.h" true true true @@ -2229,15 +2229,15 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_mac.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/pspecific_mac.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_mac.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_mac.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/pspecific_mac.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/pspecific_mac.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_mac.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/pspecific_mac.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_mac.h" true true true @@ -2271,13 +2271,13 @@ Moc%27ing sysbuttons.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/sysbuttons.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/sysbuttons.h" Moc%27ing sysbuttons.h... Moc%27ing sysbuttons.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/sysbuttons.h" - "$(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/sysbuttons.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/sysbuttons.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/sysbuttons.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) @@ -2285,13 +2285,13 @@ Moc%27ing title.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/title.h" + "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/title.h" Moc%27ing title.h... Moc%27ing title.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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/title.h" - "$(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/title.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/title.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/title.h" $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) $(QTDIR)\bin\moc.exe;%(FullPath) diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index 2a5b14af6..f1ee2db64 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -1381,12 +1381,6 @@ Resources - - Resources - - - Resources - Resources diff --git a/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj b/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj index 9e5a0eee3..0825b51f7 100644 --- a/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj +++ b/Telegram/build/vc/codegen_numbers/codegen_numbers.vcxproj @@ -76,7 +76,7 @@ Disabled ProgramDatabase MultiThreadedDebug - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) + $(QTDIR)\include;.\..\..\..\SourceFiles;%(AdditionalIncludeDirectories) true Level4 true @@ -95,7 +95,7 @@ UNICODE;WIN32;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions) MultiThreaded - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) + $(QTDIR)\include;.\..\..\..\SourceFiles;%(AdditionalIncludeDirectories) true Level4 true diff --git a/Telegram/build/vc/codegen_style/codegen_style.vcxproj b/Telegram/build/vc/codegen_style/codegen_style.vcxproj index 15a73d76a..143842fa8 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.vcxproj +++ b/Telegram/build/vc/codegen_style/codegen_style.vcxproj @@ -82,7 +82,7 @@ Disabled ProgramDatabase MultiThreadedDebug - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) + $(QTDIR)\include;.\..\..\..\SourceFiles;%(AdditionalIncludeDirectories) true Level4 true @@ -101,7 +101,7 @@ UNICODE;WIN32;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions) MultiThreaded - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);.\..\..\..\SourceFiles;$(QTDIR)\include\QtCore;.\..\%(AdditionalIncludeDirectories) + $(QTDIR)\include;.\..\..\..\SourceFiles;%(AdditionalIncludeDirectories) true Level4 true From ed3281d0f500c29963a3e8f653ff6f94654da442 Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 20 Apr 2016 15:59:25 +0300 Subject: [PATCH 11/16] Improved QtCreator projects for codegen, include dirs used in codegen. --- Telegram/Resources/all_files.style | 4 +- Telegram/Resources/basic.style | 2 +- .../codegen/common/basic_tokenized_file.cpp | 2 + .../SourceFiles/codegen/style/parsed_file.cpp | 18 +++++-- .../SourceFiles/codegen/style/parsed_file.h | 1 + Telegram/SourceFiles/localstorage.cpp | 35 -------------- Telegram/Telegram.pro | 47 +++++++------------ 7 files changed, 37 insertions(+), 72 deletions(-) diff --git a/Telegram/Resources/all_files.style b/Telegram/Resources/all_files.style index 8737bca36..a73664bed 100644 --- a/Telegram/Resources/all_files.style +++ b/Telegram/Resources/all_files.style @@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ // Legacy styles -using "Resources/basic_types.style"; -using "Resources/basic.style"; +using "./basic_types.style"; +using "./basic.style"; //using "overview/overview.style"; diff --git a/Telegram/Resources/basic.style b/Telegram/Resources/basic.style index 92ed45667..aa5f85dff 100644 --- a/Telegram/Resources/basic.style +++ b/Telegram/Resources/basic.style @@ -18,7 +18,7 @@ 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 */ -using "Resources/basic_types.style"; +using "./basic_types.style"; semibold: "Open Sans Semibold"; diff --git a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp index 7713897dd..201c1d412 100644 --- a/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp +++ b/Telegram/SourceFiles/codegen/common/basic_tokenized_file.cpp @@ -52,6 +52,8 @@ Token invalidToken() { return { Type::Invalid, QString(), ConstUtf8String(nullptr, 0), false }; } + + } // namespace BasicTokenizedFile::BasicTokenizedFile(const QString &filepath) : reader_(filepath) { diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.cpp b/Telegram/SourceFiles/codegen/style/parsed_file.cpp index 037b7732a..91a5f6077 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.cpp +++ b/Telegram/SourceFiles/codegen/style/parsed_file.cpp @@ -44,6 +44,16 @@ constexpr int kErrorIdentifierNotFound = 804; constexpr int kErrorAlreadyDefined = 805; constexpr int kErrorBadString = 806; +QString findInputFile(const Options &options) { + for (const auto &dir : options.includePaths) { + QString tryPath = QDir(dir).absolutePath() + '/' + options.inputPath; + if (QFileInfo(tryPath).exists()) { + return tryPath; + } + } + return options.inputPath; +} + QString tokenValue(const BasicToken &token) { if (token.type == BasicType::String) { return token.value; @@ -144,7 +154,8 @@ bool validateAlignString(const QString &value) { } // namespace ParsedFile::ParsedFile(const Options &options) -: file_(options.inputPath) +: filePath_(findInputFile(options)) +, file_(filePath_) , options_(options) { } @@ -153,8 +164,8 @@ bool ParsedFile::read() { return false; } - auto filepath = QFileInfo(options_.inputPath).absoluteFilePath(); - module_ = std::make_unique(filepath); + auto absolutePath = QFileInfo(filePath_).absoluteFilePath(); + module_ = std::make_unique(absolutePath); do { if (auto startToken = file_.getToken(BasicType::Name)) { if (tokenValue(startToken) == "using") { @@ -739,6 +750,7 @@ BasicToken ParsedFile::assertNextToken(BasicToken::Type type) { Options ParsedFile::includedOptions(const QString &filepath) { auto result = options_; result.inputPath = filepath; + result.includePaths[0] = QFileInfo(filePath_).dir().absolutePath(); return result; } diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.h b/Telegram/SourceFiles/codegen/style/parsed_file.h index f98b41c7c..c8cdcd1ed 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.h +++ b/Telegram/SourceFiles/codegen/style/parsed_file.h @@ -107,6 +107,7 @@ private: // Compose context-dependent full name. structure::FullName composeFullName(const QString &name); + QString filePath_; common::BasicTokenizedFile file_; Options options_; bool failed_ = false; diff --git a/Telegram/SourceFiles/localstorage.cpp b/Telegram/SourceFiles/localstorage.cpp index 8fde7156c..1aee7a285 100644 --- a/Telegram/SourceFiles/localstorage.cpp +++ b/Telegram/SourceFiles/localstorage.cpp @@ -304,41 +304,6 @@ namespace { } }; - bool fileExists(const QString &name, int options = UserPath | SafePath) { - if (options & UserPath) { - if (!_userWorking()) return false; - } else { - if (!_working()) return false; - } - - // detect order of read attempts - QString toTry[2]; - toTry[0] = ((options & UserPath) ? _userBasePath : _basePath) + name + '0'; - if (options & SafePath) { - QFileInfo toTry0(toTry[0]); - if (toTry0.exists()) { - toTry[1] = ((options & UserPath) ? _userBasePath : _basePath) + name + '1'; - QFileInfo toTry1(toTry[1]); - if (toTry1.exists()) { - QDateTime mod0 = toTry0.lastModified(), mod1 = toTry1.lastModified(); - if (mod0 < mod1) { - qSwap(toTry[0], toTry[1]); - } - } else { - toTry[1] = QString(); - } - } else { - toTry[0][toTry[0].size() - 1] = '1'; - } - } - for (int32 i = 0; i < 2; ++i) { - QString fname(toTry[i]); - if (fname.isEmpty()) break; - if (QFileInfo(fname).exists()) return true; - } - return false; - } - bool readFile(FileReadDescriptor &result, const QString &name, int options = UserPath | SafePath) { if (options & UserPath) { if (!_userWorking()) return false; diff --git a/Telegram/Telegram.pro b/Telegram/Telegram.pro index 00a280f2c..8e9fd055d 100644 --- a/Telegram/Telegram.pro +++ b/Telegram/Telegram.pro @@ -5,15 +5,15 @@ CONFIG += plugin static c++11 CONFIG(debug, debug|release) { DEFINES += _DEBUG OBJECTS_DIR = ./../DebugIntermediate - MOC_DIR = ./GenFiles/Debug - RCC_DIR = ./GenFiles + MOC_DIR = ./GeneratedFiles/Debug + RCC_DIR = ./GeneratedFiles DESTDIR = ./../Debug } CONFIG(release, debug|release) { DEFINES += CUSTOM_API_ID OBJECTS_DIR = ./../ReleaseIntermediate - MOC_DIR = ./GenFiles/Release - RCC_DIR = ./GenFiles + MOC_DIR = ./GeneratedFiles/Release + RCC_DIR = ./GeneratedFiles DESTDIR = ./../Release } @@ -29,44 +29,29 @@ linux { HEADERS += ./SourceFiles/pspecific_linux.h } -codegen_style.target = ./GeneratedFiles/styles/style_basic_types.h +codegen_style.target = style_target codegen_style.depends = FORCE +codegen_style.commands = ./../codegen/Debug/codegen_style "-I./../../Telegram/SourceFiles" "-o./GeneratedFiles/styles" "./../../Telegram/Resources/all_files.style" --rebuild -codegen_numbers.target = ./GeneratedFiles/numbers.cpp +codegen_numbers.target = numbers_target codegen_numbers.depends = ./../../Telegram/Resources/numbers.txt CONFIG(debug, debug|release) { -codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/DebugIntermediate -codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/DebugIntermediate +#codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./../Linux/DebugIntermediate/GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/DebugIntermediate +codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./../Linux/DebugIntermediate/GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/DebugIntermediate } CONFIG(release, debug|release) { -codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/ReleaseIntermediate -codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/ReleaseIntermediate +#codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./../Linux/ReleaseIntermediate/GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/ReleaseIntermediate +codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./../Linux/ReleaseIntermediate/GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/ReleaseIntermediate } -lang_auto_cpp.target = ./GeneratedFiles/lang_auto.cpp -lang_auto_cpp.depends = FORCE -lang_auto_cpp.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugLang/MetaLang -lang_in ./../../Telegram/Resources/lang.strings -lang_out ./../../Telegram/GeneratedFiles/lang_auto -lang_auto_cpp.depends = ./../../Telegram/Resources/lang.strings +codegen_lang.target = lang_target +codegen_lang.depends = ./../../Telegram/Resources/lang.strings +codegen_lang.commands = mkdir -p ./GeneratedFiles && ./../DebugLang/MetaLang -lang_in ./../../Telegram/Resources/lang.strings -lang_out ./GeneratedFiles/lang_auto -lang_auto_h.target = ./GeneratedFiles/lang_auto.h -lang_auto_h.depends = FORCE -lang_auto_h.commands = mkdir -p ./../../Telegram/GeneratedFiles && ./../DebugLang/MetaLang -lang_in ./../../Telegram/Resources/lang.strings -lang_out ./../../Telegram/GeneratedFiles/lang_auto -lang_auto_h.depends = ./../../Telegram/Resources/lang.strings +QMAKE_EXTRA_TARGETS += codegen_style codegen_numbers codegen_lang -#hook.depends = style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h -hook.depends = codegen_style codegen_numbers lang_auto_cpp lang_auto_h -CONFIG(debug,debug|release):hook.target = Makefile.Debug -CONFIG(release,debug|release):hook.target = Makefile.Release - -#QMAKE_EXTRA_TARGETS += style_auto_cpp style_auto_h style_classes_h numbers_cpp lang_auto_cpp lang_auto_h hook -QMAKE_EXTRA_TARGETS += codegen_style codegen_numbers lang_auto_cpp lang_auto_h hook - -#PRE_TARGETDEPS += ./GeneratedFiles/style_auto.cpp ./GeneratedFiles/style_auto.h ./GeneratedFiles/style_classes.h ./GeneratedFiles/numbers.cpp ./GeneratedFiles/lang_auto.h ./GeneratedFiles/lang_auto.cpp -PRE_TARGETDEPS += \ -./GeneratedFiles/styles/style_basic_types.h \ -./GeneratedFiles/lang_auto.h \ -./GeneratedFiles/lang_auto.cpp +PRE_TARGETDEPS += style_target numbers_target lang_target unix { linux-g++:QMAKE_TARGET.arch = $$QMAKE_HOST.arch From 6838465de2c79136c176e8dd75c8cd001152b06b Mon Sep 17 00:00:00 2001 From: John Preston Date: Wed, 20 Apr 2016 16:01:04 +0300 Subject: [PATCH 12/16] Fixed paths in codegen_numbers Xcode project. --- .../codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Telegram/build/xcode/codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj b/Telegram/build/xcode/codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj index cde163d15..b68ad9076 100644 --- a/Telegram/build/xcode/codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj +++ b/Telegram/build/xcode/codegen_numbers/codegen_numbers.xcodeproj/project.pbxproj @@ -268,7 +268,7 @@ LIBRARY_SEARCH_PATHS = "/usr/local/Qt-5.5.1/lib"; MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = YES; - OBJROOT = "./../../../../Mac/obj/codegen_style/$(CONFIGURATION)"; + OBJROOT = "./../../../../Mac/obj/codegen_numbers/$(CONFIGURATION)"; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ( "-lQt5Core_debug", @@ -319,7 +319,7 @@ LIBRARY_SEARCH_PATHS = "/usr/local/Qt-5.5.1/lib"; MACOSX_DEPLOYMENT_TARGET = 10.11; MTL_ENABLE_DEBUG_INFO = NO; - OBJROOT = "./../../../../Mac/obj/codegen_style/$(CONFIGURATION)"; + OBJROOT = "./../../../../Mac/obj/codegen_numbers/$(CONFIGURATION)"; OTHER_LDFLAGS = ( "-lQt5Core", "-lqtpcre", From 705358993d740e617ebbf35db3290d07083586dd Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 21 Apr 2016 20:57:29 +0300 Subject: [PATCH 13/16] New style::icon class added, colorized icons by codegen_style. Moved style_core to /ui/style/, Xcode and QtCreator builds are broken. --- Telegram/Resources/all_files.style | 6 +- Telegram/Resources/art/sprite.png | Bin 182781 -> 181424 bytes Telegram/Resources/art/sprite_200x.png | Bin 248894 -> 246146 bytes Telegram/Resources/basic.style | 44 +- .../Resources/icons/overview_links_check.png | Bin 0 -> 161 bytes .../icons/overview_links_check@2x.png | Bin 0 -> 261 bytes .../icons/overview_links_check_bg.png | Bin 0 -> 138 bytes .../icons/overview_links_check_bg@2x.png | Bin 0 -> 218 bytes .../Resources/icons/overview_photo_check.png | Bin 0 -> 243 bytes .../icons/overview_photo_check@2x.png | Bin 0 -> 424 bytes Telegram/SourceFiles/apiwrap.cpp | 6 +- Telegram/SourceFiles/app.cpp | 10 +- Telegram/SourceFiles/application.cpp | 1 - Telegram/SourceFiles/boxes/abstractbox.cpp | 2 +- Telegram/SourceFiles/boxes/abstractbox.h | 4 +- Telegram/SourceFiles/boxes/backgroundbox.cpp | 7 +- Telegram/SourceFiles/boxes/photocropbox.cpp | 6 +- Telegram/SourceFiles/boxes/photosendbox.cpp | 5 +- .../SourceFiles/codegen/common/clean_file.cpp | 5 - Telegram/SourceFiles/codegen/common/logging.h | 6 + .../SourceFiles/codegen/style/generator.cpp | 232 ++++++- .../SourceFiles/codegen/style/generator.h | 9 +- .../SourceFiles/codegen/style/parsed_file.cpp | 97 +++ .../SourceFiles/codegen/style/parsed_file.h | 4 + .../SourceFiles/codegen/style/processor.cpp | 2 +- .../codegen/style/sprite_generator.cpp | 13 +- .../codegen/style/structure_types.cpp | 24 + .../codegen/style/structure_types.h | 27 + .../SourceFiles/dialogs/dialogs_layout.cpp | 17 +- Telegram/SourceFiles/dialogswidget.cpp | 12 +- Telegram/SourceFiles/dropdown.cpp | 6 +- Telegram/SourceFiles/history.cpp | 13 +- Telegram/SourceFiles/historywidget.cpp | 15 +- Telegram/SourceFiles/historywidget.h | 2 +- .../inline_bot_layout_internal.cpp | 1 + Telegram/SourceFiles/intro/introcode.cpp | 8 +- Telegram/SourceFiles/intro/introphone.cpp | 8 +- Telegram/SourceFiles/intro/intropwdcheck.cpp | 5 +- Telegram/SourceFiles/intro/introsignup.cpp | 20 +- Telegram/SourceFiles/intro/introstart.cpp | 13 +- Telegram/SourceFiles/intro/introwidget.cpp | 10 +- Telegram/SourceFiles/layout.cpp | 6 +- Telegram/SourceFiles/mainwidget.cpp | 5 +- Telegram/SourceFiles/mainwidget.h | 2 +- Telegram/SourceFiles/mainwindow.cpp | 11 +- Telegram/SourceFiles/mediaview.cpp | 18 +- Telegram/SourceFiles/overview/overview.style | 73 ++ .../SourceFiles/overview/overview_layout.cpp | 43 +- Telegram/SourceFiles/overviewwidget.cpp | 19 +- Telegram/SourceFiles/overviewwidget.h | 2 +- Telegram/SourceFiles/passcodewidget.cpp | 12 +- Telegram/SourceFiles/playerwidget.cpp | 9 +- Telegram/SourceFiles/profilewidget.cpp | 12 +- Telegram/SourceFiles/profilewidget.h | 2 +- Telegram/SourceFiles/pspecific_win.cpp | 7 +- Telegram/SourceFiles/settingswidget.cpp | 17 +- Telegram/SourceFiles/stdafx.h | 6 +- Telegram/SourceFiles/structs.cpp | 1 - Telegram/SourceFiles/sysbuttons.cpp | 12 +- Telegram/SourceFiles/title.cpp | 9 +- Telegram/SourceFiles/ui/boxshadow.cpp | 4 +- .../ui/buttons/peer_avatar_button.h | 1 - Telegram/SourceFiles/ui/countryinput.cpp | 8 +- Telegram/SourceFiles/ui/countryinput.h | 2 - Telegram/SourceFiles/ui/flatbutton.cpp | 12 +- Telegram/SourceFiles/ui/flatbutton.h | 1 - Telegram/SourceFiles/ui/flatcheckbox.cpp | 23 +- Telegram/SourceFiles/ui/flatinput.cpp | 6 +- Telegram/SourceFiles/ui/flatinput.h | 1 - Telegram/SourceFiles/ui/flatlabel.h | 2 - Telegram/SourceFiles/ui/flattextarea.cpp | 1 - Telegram/SourceFiles/ui/flattextarea.h | 2 - Telegram/SourceFiles/ui/images.cpp | 4 +- Telegram/SourceFiles/ui/scrollarea.cpp | 2 - Telegram/SourceFiles/ui/scrollarea.h | 3 - Telegram/SourceFiles/ui/style.h | 25 - Telegram/SourceFiles/ui/style/style_core.cpp | 103 +++ Telegram/SourceFiles/ui/style/style_core.h | 66 ++ .../SourceFiles/ui/style/style_core_color.cpp | 91 +++ .../SourceFiles/ui/style/style_core_color.h | 111 +++ .../SourceFiles/ui/style/style_core_font.cpp | 147 ++++ .../SourceFiles/ui/style/style_core_font.h | 129 ++++ .../SourceFiles/ui/style/style_core_icon.cpp | 195 ++++++ .../SourceFiles/ui/style/style_core_icon.h | 132 ++++ .../SourceFiles/ui/style/style_core_types.cpp | 62 ++ .../SourceFiles/ui/style/style_core_types.h | 111 +++ Telegram/SourceFiles/ui/style_core.cpp | 269 -------- Telegram/SourceFiles/ui/style_core.h | 319 --------- Telegram/SourceFiles/ui/text/text.h | 2 +- Telegram/SourceFiles/ui/twidget.h | 26 +- .../SourceFiles/window/top_bar_widget.cpp | 2 +- Telegram/Telegram.pro | 5 +- Telegram/Telegram.vcxproj | 158 +++-- Telegram/Telegram.vcxproj.filters | 51 +- Telegram/Telegram.xcodeproj/project.pbxproj | 6 +- Telegram/Telegram.xcodeproj/qt_preprocess.mak | 648 +++++------------- .../vc/codegen_style/codegen_style.targets | 2 +- 97 files changed, 2090 insertions(+), 1548 deletions(-) create mode 100644 Telegram/Resources/icons/overview_links_check.png create mode 100644 Telegram/Resources/icons/overview_links_check@2x.png create mode 100644 Telegram/Resources/icons/overview_links_check_bg.png create mode 100644 Telegram/Resources/icons/overview_links_check_bg@2x.png create mode 100644 Telegram/Resources/icons/overview_photo_check.png create mode 100644 Telegram/Resources/icons/overview_photo_check@2x.png create mode 100644 Telegram/SourceFiles/overview/overview.style delete mode 100644 Telegram/SourceFiles/ui/style.h create mode 100644 Telegram/SourceFiles/ui/style/style_core.cpp create mode 100644 Telegram/SourceFiles/ui/style/style_core.h create mode 100644 Telegram/SourceFiles/ui/style/style_core_color.cpp create mode 100644 Telegram/SourceFiles/ui/style/style_core_color.h create mode 100644 Telegram/SourceFiles/ui/style/style_core_font.cpp create mode 100644 Telegram/SourceFiles/ui/style/style_core_font.h create mode 100644 Telegram/SourceFiles/ui/style/style_core_icon.cpp create mode 100644 Telegram/SourceFiles/ui/style/style_core_icon.h create mode 100644 Telegram/SourceFiles/ui/style/style_core_types.cpp create mode 100644 Telegram/SourceFiles/ui/style/style_core_types.h delete mode 100644 Telegram/SourceFiles/ui/style_core.cpp delete mode 100644 Telegram/SourceFiles/ui/style_core.h diff --git a/Telegram/Resources/all_files.style b/Telegram/Resources/all_files.style index a73664bed..d496505f2 100644 --- a/Telegram/Resources/all_files.style +++ b/Telegram/Resources/all_files.style @@ -20,7 +20,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ // Legacy styles -using "./basic_types.style"; -using "./basic.style"; +using "basic_types.style"; +using "basic.style"; -//using "overview/overview.style"; +using "overview/overview.style"; diff --git a/Telegram/Resources/art/sprite.png b/Telegram/Resources/art/sprite.png index b9c7558572c4e1f867b07f008c7a0c043c99f6f8..3417ad4ca9aac0ebc0343daf3504893475e22826 100644 GIT binary patch delta 56627 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 Ko;%Ojj`}}5lqGWj delta 57991 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 diff --git a/Telegram/Resources/art/sprite_200x.png b/Telegram/Resources/art/sprite_200x.png index 964c993cf417badca4126f56987dd31ffb711641..5d386cc99203328d300e7e74c401cbd301eec851 100644 GIT binary patch delta 78862 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 Y)aMsoJqp4sa2z^lqQ{!0V|VTU0O{wBPyhe` delta 81602 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 -I| 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 diff --git a/Telegram/Resources/basic.style b/Telegram/Resources/basic.style index aa5f85dff..866c89334 100644 --- a/Telegram/Resources/basic.style +++ b/Telegram/Resources/basic.style @@ -18,7 +18,7 @@ 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 */ -using "./basic_types.style"; +using "basic_types.style"; semibold: "Open Sans Semibold"; @@ -2277,24 +2277,6 @@ medviewSaveMsg: #000000b2; mvTransparentBrush: sprite(9px, 124px, 8px, 8px); -overviewPhotoSkip: 10px; -overviewPhotoBg: #F1F1F1; -overviewPhotoMinSize: minPhotoSize; -overviewPhotoCheck: sprite(245px, 308px, 32px, 32px); -overviewPhotoChecked: sprite(278px, 308px, 32px, 32px); -overviewPhotoSelectOverlay: #0a7bb03f; - -overviewFilePadding: margins(0px, 3px, 16px, 3px); -overviewFileSize: 70px; -overviewFileNameTop: 7px; -overviewFileStatusTop: 27px; -overviewFileDateTop: 49px; -overviewFileChecked: #2fa9e2; -overviewFileCheck: #00000066; -overviewFileExtPadding: 5px; -overviewFileExtTop: 24px; -overviewFileExtFont: font(18px semibold); - // Mac specific macAccessoryWidth: 450.; @@ -2344,10 +2326,6 @@ radialDownloadOpacity: 0.8; radialCancel: sprite(378px, 50px, 18px, 18px); radialCancelOpacity: 1.0; -overviewLoader: size(34px, 14px); -overviewLoaderPoint: size(4px, 4px); -overviewLoaderSkip: 4px; - mediaviewLoader: size(78px, 33px); mediaviewLoaderPoint: size(9px, 9px); mediaviewLoaderSkip: 9px; @@ -2475,22 +2453,6 @@ playerInactiveOpacity: 0.8; playerUnavailableOpacity: 0.3; playerDuration: 200; -playlistHoverBg: #f2f2f2; -playlistPadding: 10px; - -linksSearchMargin: margins(20px, 20px, 20px, 0px); -linksMaxWidth: 520px; -linksLetterFont: font(24px); -linksMargin: margins(0px, 7px, 0px, 5px); -linksTextTop: 6px; -linksBorder: 1px; -linksBorderFg: #eaeaea; -linksDateColor: #808080; -linksDateMargin: margins(0px, 15px, 0px, 2px); - -linksPhotoCheck: sprite(184px, 196px, 16px, 16px); -linksPhotoChecked: sprite(168px, 196px, 16px, 16px); - inlineResultsLeft: 11px; inlineResultsSkip: 3px; inlineMediaHeight: 96px; @@ -2498,8 +2460,8 @@ inlineThumbSize: 64px; inlineThumbSkip: 10px; inlineDescriptionFg: #8a8a8a; inlineRowMargin: 6px; -inlineRowBorder: linksBorder; -inlineRowBorderFg: linksBorderFg; +inlineRowBorder: 1px; +inlineRowBorderFg: #eaeaea; inlineRowFileNameTop: 2px; inlineRowFileDescriptionTop: 23px; inlineResultsMinWidth: 64px; diff --git a/Telegram/Resources/icons/overview_links_check.png b/Telegram/Resources/icons/overview_links_check.png new file mode 100644 index 0000000000000000000000000000000000000000..b4c53ec6e674669545c3609ec08f25f2e8bb1eb5 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRZ!3HF6%}!4MQW>5ujv*3LOV3+#F&pxS1Om zr68pQr6Nt!VBdEDfYv$I^yrXVcKGC=yizkj|E0>+pxtSE{Tan3y>en(lB1(-1g z>$;xErzgK5k1flB>qH>o_X{CT%sGc)7-GsAUPvi1&ojnxjB5M~PgJAtqw0fx00000 LNkvXXu0mjf%mQj; literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/overview_links_check_bg.png b/Telegram/Resources/icons/overview_links_check_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..928f7d4bc4aea7237f0205efd9e40be4f5816196 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`fu1goAr`%FCodE{V8FwCRp9+P zQe1bekNTj9C{rXs~gvTFzWZb!S+wuh@pW&Ln$P5mgL>J`RDIuriFxdarlcf+^Bv& z=kwPW`_Ee5tlrP4bZG0f^pBgjUaRE{{cBUVY*ow5rHp5KrtjXowXMgMMQ@VNO8d!Y zDj2x}8kj^DFtBPkFfuqODe1}yPS{&6mGGWdGIA&IdPE?N83j`7f-;hK^gr{kY!CH%| zB2SUBEOE{OV6A-y9g%I@sH!R+DvII`iGzM1;m{eW>-sz+WLZXqVbJleQzh#-C6v&R_=Mnn)*Wtyf77KQ9PI%C5yuq?|5X__YFAn!s|ndg~f tc<*W3HuOEd%@K=4u79MejN=%K@B+cPqn^2aCq)1N002ovPDHLkV1ntyVhsQQ literal 0 HcmV?d00001 diff --git a/Telegram/Resources/icons/overview_photo_check@2x.png b/Telegram/Resources/icons/overview_photo_check@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ab0cbd9c9f46554607b5ac59c0acb98123fc212 GIT binary patch literal 424 zcmV;Z0ayNsP)|0004RNkl&otZ6-Et+F^1FW^dHRp zAj2?vF;!Jzv)K&w_$o{bvTYmt{T{lmuZj5ubr&7yd@{-~3>=TgUd+=rf1fUJ*S4WS;7hic3#h=>pbK`%;%@qK?Tj2tu; zr2x|pYEbw4U5XJxsKC4j5fQ>Ld_f5z5Cnk=%rNK~r5G~~L`2x_cF3|!H3mPR369bT SlT=m!0000 +#endif + +#include "styles/style_overview.h" #include "lang.h" #include "dialogs/dialogs_layout.h" #include "audio.h" #include "application.h" #include "fileuploader.h" #include "mainwidget.h" -#if QT_VERSION < QT_VERSION_CHECK(5, 5, 0) -#include -#endif #include "localstorage.h" #include "apiwrap.h" #include "numbers.h" @@ -2522,7 +2524,7 @@ namespace { uint64 max = qMax(1ULL, components[maxtomin[0]]), mid = qMax(1ULL, components[maxtomin[1]]), min = qMax(1ULL, components[maxtomin[2]]); - QImage dog = App::sprite().toImage().copy(st::msgDogImg); + QImage dog = App::sprite().toImage().copy(st::msgDogImg.rect()); QImage::Format f = dog.format(); if (f != QImage::Format_ARGB32 && f != QImage::Format_ARGB32_Premultiplied) { dog = dog.convertToFormat(QImage::Format_ARGB32_Premultiplied); diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index 67cfd5ed0..e7126a7d6 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -21,7 +21,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "stdafx.h" #include "application.h" -#include "ui/style.h" #include "shortcuts.h" #include "pspecific.h" #include "fileuploader.h" diff --git a/Telegram/SourceFiles/boxes/abstractbox.cpp b/Telegram/SourceFiles/boxes/abstractbox.cpp index f721c6b57..16d58c864 100644 --- a/Telegram/SourceFiles/boxes/abstractbox.cpp +++ b/Telegram/SourceFiles/boxes/abstractbox.cpp @@ -31,7 +31,7 @@ void BlueTitleShadow::paintEvent(QPaintEvent *e) { Painter p(this); QRect r(e->rect()); - p.drawPixmap(QRect(r.left(), 0, r.width(), height()), App::sprite(), st::boxBlueShadow); + p.drawPixmap(QRect(r.left(), 0, r.width(), height()), App::sprite(), st::boxBlueShadow.rect()); } BlueTitleClose::BlueTitleClose(QWidget *parent) : Button(parent) diff --git a/Telegram/SourceFiles/boxes/abstractbox.h b/Telegram/SourceFiles/boxes/abstractbox.h index 14c3f3d74..08d4a7d4d 100644 --- a/Telegram/SourceFiles/boxes/abstractbox.h +++ b/Telegram/SourceFiles/boxes/abstractbox.h @@ -62,7 +62,7 @@ public: void setBlueTitle(bool blue); void raiseShadow(); - + public slots: void onClose(); @@ -115,7 +115,7 @@ public: ScrollableBox(const style::flatScroll &scroll, int32 w = st::boxWideWidth); void resizeEvent(QResizeEvent *e); - + protected: void init(QWidget *inner, int32 bottomSkip = st::boxScrollSkip, int32 topSkip = st::boxTitleHeight); diff --git a/Telegram/SourceFiles/boxes/backgroundbox.cpp b/Telegram/SourceFiles/boxes/backgroundbox.cpp index ddbdf4a39..8567937cb 100644 --- a/Telegram/SourceFiles/boxes/backgroundbox.cpp +++ b/Telegram/SourceFiles/boxes/backgroundbox.cpp @@ -25,6 +25,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "mainwidget.h" #include "mainwindow.h" #include "settingswidget.h" +#include "styles/style_overview.h" BackgroundInner::BackgroundInner() : _bgCount(0), _rows(0), _over(-1), _overDown(-1) { @@ -111,7 +112,7 @@ void BackgroundInner::updateWallpapers() { void BackgroundInner::paintEvent(QPaintEvent *e) { QRect r(e->rect()); - QPainter p(this); + Painter p(this); if (_rows) { for (int i = 0; i < _rows; ++i) { @@ -130,7 +131,9 @@ void BackgroundInner::paintEvent(QPaintEvent *e) { p.drawPixmap(x, y, pix); if (paper.id == cChatBackgroundId()) { - p.drawPixmap(QPoint(x + st::backgroundSize.width() - st::overviewPhotoChecked.pxWidth(), y + st::backgroundSize.height() - st::overviewPhotoChecked.pxHeight()), App::sprite(), st::overviewPhotoChecked); + int checkPosX = x + st::backgroundSize.width() - st::overviewPhotoChecked.width(); + int checkPosY = y + st::backgroundSize.height() - st::overviewPhotoChecked.height(); + st::overviewPhotoChecked.paint(p, QPoint(checkPosX, checkPosY), width()); } } } diff --git a/Telegram/SourceFiles/boxes/photocropbox.cpp b/Telegram/SourceFiles/boxes/photocropbox.cpp index 0a2d477a3..a0c398f44 100644 --- a/Telegram/SourceFiles/boxes/photocropbox.cpp +++ b/Telegram/SourceFiles/boxes/photocropbox.cpp @@ -19,9 +19,9 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" -#include "lang.h" +#include "boxes/photocropbox.h" +#include "lang.h" #include "application.h" #include "mainwidget.h" #include "photocropbox.h" @@ -227,7 +227,7 @@ void PhotoCropBox::keyPressEvent(QKeyEvent *e) { void PhotoCropBox::paintEvent(QPaintEvent *e) { Painter p(this); if (paint(p)) return; - + p.setFont(st::boxTextFont); p.setPen(st::boxPhotoTextFg); p.drawText(QRect(st::boxPhotoPadding.left(), st::boxPhotoPadding.top() + _thumbh + st::boxPhotoPadding.bottom(), width() - st::boxPhotoPadding.left() - st::boxPhotoPadding.right(), st::boxTextFont->height), _title, style::al_top); diff --git a/Telegram/SourceFiles/boxes/photosendbox.cpp b/Telegram/SourceFiles/boxes/photosendbox.cpp index 7667d3471..987295b9c 100644 --- a/Telegram/SourceFiles/boxes/photosendbox.cpp +++ b/Telegram/SourceFiles/boxes/photosendbox.cpp @@ -19,11 +19,10 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" +#include "boxes/photosendbox.h" + #include "lang.h" - #include "localstorage.h" - #include "mainwidget.h" #include "photosendbox.h" diff --git a/Telegram/SourceFiles/codegen/common/clean_file.cpp b/Telegram/SourceFiles/codegen/common/clean_file.cpp index f68896ebf..913caaea1 100644 --- a/Telegram/SourceFiles/codegen/common/clean_file.cpp +++ b/Telegram/SourceFiles/codegen/common/clean_file.cpp @@ -29,11 +29,6 @@ namespace codegen { namespace common { namespace { -constexpr int kErrorFileNotFound = 101; -constexpr int kErrorFileTooLarge = 102; -constexpr int kErrorFileNotOpened = 103; -constexpr int kErrorUnexpectedEndOfFile = 104; - bool readFile(const QString &filepath, QByteArray *outResult) { QFile f(filepath); if (!f.exists()) { diff --git a/Telegram/SourceFiles/codegen/common/logging.h b/Telegram/SourceFiles/codegen/common/logging.h index 55567ac84..9c90f1fa4 100644 --- a/Telegram/SourceFiles/codegen/common/logging.h +++ b/Telegram/SourceFiles/codegen/common/logging.h @@ -26,6 +26,12 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org namespace codegen { namespace common { +// Common error codes. +constexpr int kErrorFileNotFound = 101; +constexpr int kErrorFileTooLarge = 102; +constexpr int kErrorFileNotOpened = 103; +constexpr int kErrorUnexpectedEndOfFile = 104; + // Wrapper around std::ostream that adds '\n' to the end of the logging line. class LogStream { public: diff --git a/Telegram/SourceFiles/codegen/style/generator.cpp b/Telegram/SourceFiles/codegen/style/generator.cpp index 7db0d1993..5c6ce69f9 100644 --- a/Telegram/SourceFiles/codegen/style/generator.cpp +++ b/Telegram/SourceFiles/codegen/style/generator.cpp @@ -24,6 +24,9 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include #include #include +#include +#include +#include #include "codegen/style/parsed_file.h" using Module = codegen::style::structure::Module; @@ -35,6 +38,9 @@ namespace codegen { namespace style { namespace { +constexpr int kErrorBadIconSize = 861; +constexpr int kErrorBadIconFormat = 862; + char hexChar(uchar ch) { if (ch < 10) { return '0' + ch; @@ -45,30 +51,62 @@ char hexChar(uchar ch) { } char hexSecondChar(char ch) { - return hexChar((*reinterpret_cast(&ch)) << 4); -} - -char hexFirstChar(char ch) { return hexChar((*reinterpret_cast(&ch)) & 0x0F); } +char hexFirstChar(char ch) { + return hexChar((*reinterpret_cast(&ch)) >> 4); +} + QString stringToEncodedString(const std::string &str) { - QString result; - result.reserve(str.size() * 4); + QString result, lineBreak = "\\\n"; + result.reserve(str.size() * 8); + bool writingHexEscapedCharacters = false, startOnNewLine = false; + int lastCutSize = 0; for (uchar ch : str) { + if (result.size() - lastCutSize > 80) { + startOnNewLine = true; + result.append(lineBreak); + lastCutSize = result.size(); + } if (ch == '\n') { + writingHexEscapedCharacters = false; result.append("\\n"); } else if (ch == '\t') { + writingHexEscapedCharacters = false; result.append("\\t"); } else if (ch == '"' || ch == '\\') { + writingHexEscapedCharacters = false; result.append('\\').append(ch); } else if (ch < 32 || ch > 127) { + writingHexEscapedCharacters = true; result.append("\\x").append(hexFirstChar(ch)).append(hexSecondChar(ch)); } else { + if (writingHexEscapedCharacters) { + writingHexEscapedCharacters = false; + result.append("\"\""); + } result.append(ch); } } - return '"' + result + '"'; + return '"' + (startOnNewLine ? lineBreak : QString()) + result + '"'; +} + +QString stringToBinaryArray(const std::string &str) { + QStringList rows, chars; + chars.reserve(13); + rows.reserve(1 + (str.size() / 13)); + for (uchar ch : str) { + if (chars.size() > 12) { + rows.push_back(chars.join(", ")); + chars.clear(); + } + chars.push_back(QString("0x") + hexFirstChar(ch) + hexSecondChar(ch)); + } + if (!chars.isEmpty()) { + rows.push_back(chars.join(", ")); + } + return QString("{") + ((rows.size() > 1) ? '\n' : ' ') + rows.join(",\n") + " }"; } QString pxValueName(int value) { @@ -92,7 +130,7 @@ Generator::Generator(const structure::Module &module, const QString &destBasePat bool Generator::writeHeader() { header_ = std::make_unique(basePath_ + ".h", project_); - header_->include("ui/style_core.h").newline(); + header_->include("ui/style/style_core.h").newline(); if (!writeHeaderStyleNamespace()) { return false; @@ -163,6 +201,7 @@ QString Generator::typeToString(structure::Type type) const { case Tag::Align: return "style::align"; case Tag::Margins: return "style::margins"; case Tag::Font: return "style::font"; + case Tag::Icon: return "style::icon"; case Tag::Struct: return "style::" + type.name.back(); } return QString(); @@ -185,6 +224,7 @@ QString Generator::typeToDefaultValue(structure::Type type) const { case Tag::Align: return "style::al_topleft"; case Tag::Margins: return "{ 0, 0, 0, 0 }"; case Tag::Font: return "{ Qt::Uninitialized }"; + case Tag::Icon: return "{ Qt::Uninitialized }"; case Tag::Struct: { if (auto realType = module_.findStruct(type.name)) { QStringList fields; @@ -212,39 +252,57 @@ QString Generator::valueAssignmentCode(structure::Value value) const { case Tag::Double: return QString("%1").arg(value.Double()); case Tag::Pixels: return pxValueName(value.Int()); case Tag::String: return QString("qsl(%1)").arg(stringToEncodedString(value.String())); - case Tag::Color: return QString("{ %1, %2, %3, %4 }").arg(value.Color().red).arg(value.Color().green).arg(value.Color().blue).arg(value.Color().alpha); + case Tag::Color: { + auto v(value.Color()); + return QString("{ %1, %2, %3, %4 }").arg(v.red).arg(v.green).arg(v.blue).arg(v.alpha); + } break; case Tag::Point: { auto v(value.Point()); return QString("{ %1, %2 }").arg(pxValueName(v.x)).arg(pxValueName(v.y)); - } + } break; case Tag::Sprite: { auto v(value.Sprite()); return QString("{ %1, %2, %3, %4 }").arg(pxValueName(v.left)).arg(pxValueName(v.top)).arg(pxValueName(v.width)).arg(pxValueName(v.height)); - } + } break; case Tag::Size: { auto v(value.Size()); return QString("{ %1, %2 }").arg(pxValueName(v.width)).arg(pxValueName(v.height)); - } + } break; case Tag::Transition: return QString("anim::%1").arg(value.String().c_str()); case Tag::Cursor: return QString("style::cur_%1").arg(value.String().c_str()); case Tag::Align: return QString("style::al_%1").arg(value.String().c_str()); case Tag::Margins: { auto v(value.Margins()); return QString("{ %1, %2, %3, %4 }").arg(pxValueName(v.left)).arg(pxValueName(v.top)).arg(pxValueName(v.right)).arg(pxValueName(v.bottom)); - } + } break; case Tag::Font: { auto v(value.Font()); QString family = "0"; if (!v.family.empty()) { - auto familyIndex = fontFamilyValues_.value(v.family, -1); + auto familyIndex = fontFamilies_.value(v.family, -1); if (familyIndex < 0) { return QString(); - } else { - family = QString("font%1index").arg(familyIndex); } + family = QString("font%1index").arg(familyIndex); } return QString("{ %1, %2, %3 }").arg(pxValueName(v.size)).arg(v.flags).arg(family); - } + } break; + case Tag::Icon: { + auto v(value.Icon()); + if (v.parts.empty()) return QString(); + + QStringList parts; + for (const auto &part : v.parts) { + auto maskIndex = iconMasks_.value(part.filename, -1); + if (maskIndex < 0) { + return QString(); + } + auto color = valueAssignmentCode(part.color); + auto offset = valueAssignmentCode(part.offset); + parts.push_back(QString("MonoIcon{ &iconMask%1, %2, %3 }").arg(maskIndex).arg(color).arg(offset)); + } + return QString("{ %1 }").arg(parts.join(", ")); + } break; case Tag::Struct: { if (!value.Fields()) return QString(); @@ -381,13 +439,16 @@ bool Generator::writeVariableInit() { if (!collectUniqueValues()) { return false; } - bool hasUniqueValues = (!pxValues_.isEmpty() || !fontFamilyValues_.isEmpty()); + bool hasUniqueValues = (!pxValues_.isEmpty() || !fontFamilies_.isEmpty() || !iconMasks_.isEmpty()); if (hasUniqueValues) { source_->pushNamespace(); - if (!writePxValues()) { + if (!writePxValuesInit()) { return false; } - if (!writeFontFamilyValues()) { + if (!writeFontFamiliesInit()) { + return false; + } + if (!writeIconValues()) { return false; } source_->popNamespace().newline(); @@ -415,12 +476,12 @@ void init_" << baseName_ << "() {\n\ } } - if (hasUniqueValues) { + if (!pxValues_.isEmpty() || !fontFamilies_.isEmpty()) { if (!pxValues_.isEmpty()) { source_->stream() << "\tinitPxValues();\n"; } - if (!fontFamilyValues_.isEmpty()) { - source_->stream() << "\tinitFontFamilyValues();\n"; + if (!fontFamilies_.isEmpty()) { + source_->stream() << "\tinitFontFamilies();\n"; } source_->newline(); } @@ -434,12 +495,13 @@ void init_" << baseName_ << "() {\n\ source_->stream() << "\t_" << name << " = " << value << ";\n"; return true; }); + source_->stream() << "\ }\n\n"; return result; } -bool Generator::writePxValues() { +bool Generator::writePxValuesInit() { if (pxValues_.isEmpty()) { return true; } @@ -469,16 +531,16 @@ void initPxValues() {\n\ return true; } -bool Generator::writeFontFamilyValues() { - if (fontFamilyValues_.isEmpty()) { +bool Generator::writeFontFamiliesInit() { + if (fontFamilies_.isEmpty()) { return true; } - for (auto i = fontFamilyValues_.cbegin(), e = fontFamilyValues_.cend(); i != e; ++i) { - source_->stream() << "int font" << i.value() << "index;\n"; + for (auto familyIndex : fontFamilies_) { + source_->stream() << "int font" << familyIndex << "index;\n"; } - source_->stream() << "void initFontFamilyValues() {\n"; - for (auto i = fontFamilyValues_.cbegin(), e = fontFamilyValues_.cend(); i != e; ++i) { + source_->stream() << "void initFontFamilies() {\n"; + for (auto i = fontFamilies_.cbegin(), e = fontFamilies_.cend(); i != e; ++i) { auto family = stringToEncodedString(i.key()); source_->stream() << "\tfont" << i.value() << "index = style::internal::registerFontFamily(" << family << ");\n"; } @@ -486,9 +548,103 @@ bool Generator::writeFontFamilyValues() { return true; } +namespace { + +QByteArray iconMaskValueSize(int width, int height) { + QByteArray result; + QLatin1String generateTag("GENERATE:"); + result.append(generateTag.data(), generateTag.size()); + QLatin1String sizeTag("SIZE:"); + result.append(sizeTag.data(), sizeTag.size()); + { + QBuffer buffer(&result); + buffer.open(QIODevice::Append); + + QDataStream stream(&buffer); + stream.setVersion(QDataStream::Qt_5_1); + stream << qint32(width) << qint32(height); + } + return result; +} + +QByteArray iconMaskValuePng(const QString &filepath) { + QByteArray result; + + QImage png100x(filepath + ".png"); + QImage png200x(filepath + "@2x.png"); + png100x.setDevicePixelRatio(1.); + png200x.setDevicePixelRatio(1.); + if (png100x.isNull()) { + common::logError(common::kErrorFileNotOpened, filepath + ".png") << "could not open icon file"; + return result; + } + if (png200x.isNull()) { + common::logError(common::kErrorFileNotOpened, filepath + "@2x.png") << "could not open icon file"; + return result; + } + if (png100x.format() != png200x.format()) { + common::logError(kErrorBadIconFormat, filepath + ".png") << "1x and 2x icons have different format"; + return result; + } + if (png100x.width() * 2 != png200x.width() || png100x.height() * 2 != png200x.height()) { + common::logError(kErrorBadIconSize, filepath + ".png") << "bad icons size, 1x: " << png100x.width() << "x" << png100x.height() << ", 2x: " << png200x.width() << "x" << png200x.height(); + return result; + } + QImage png125x = png200x.scaled(structure::data::pxAdjust(png100x.width(), 5), structure::data::pxAdjust(png100x.height(), 5), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + QImage png150x = png200x.scaled(structure::data::pxAdjust(png100x.width(), 6), structure::data::pxAdjust(png100x.height(), 6), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + + QImage composed(png200x.width() + png100x.width(), png200x.height() + png150x.height(), png100x.format()); + { + QPainter p(&composed); + p.setCompositionMode(QPainter::CompositionMode_Source); + p.fillRect(0, 0, composed.width(), composed.height(), QColor(0, 0, 0, 255)); + p.drawImage(0, 0, png200x); + p.drawImage(png200x.width(), 0, png100x); + p.drawImage(0, png200x.height(), png150x); + p.drawImage(png150x.width(), png200x.height(), png125x); + } + { + QBuffer buffer(&result); + composed.save(&buffer, "PNG"); +// composed.save(filePath + "@final.png", "PNG"); + } + return result; +} + +} // namespace + +bool Generator::writeIconValues() { + if (iconMasks_.isEmpty()) { + return true; + } + + for (auto i = iconMasks_.cbegin(), e = iconMasks_.cend(); i != e; ++i) { + QString filePath = i.key(); + QByteArray maskData; + QImage png100x, png200x; + if (filePath.startsWith("size://")) { + QStringList dimensions = filePath.mid(7).split(','); + if (dimensions.size() < 2 || dimensions.at(0).toInt() <= 0 || dimensions.at(1).toInt() <= 0) { + common::logError(common::kErrorFileNotOpened, filePath) << "bad dimensions"; + return false; + } + maskData = iconMaskValueSize(dimensions.at(0).toInt(), dimensions.at(1).toInt()); + } else { + maskData = iconMaskValuePng(filePath); + } + if (maskData.isEmpty()) { + return false; + } + source_->stream() << "const uchar iconMask" << i.value() << "Data[] = " << stringToBinaryArray(maskData.toStdString()) << ";\n"; + source_->stream() << "IconMask iconMask" << i.value() << "(iconMask" << i.value() << "Data);\n\n"; + } + return true; +} + bool Generator::collectUniqueValues() { int fontFamilyIndex = 0; - std::function collector = [this, &collector, &fontFamilyIndex](const Variable &variable) { + int iconMaskIndex = 0; + std::function collector = [this, &collector, &fontFamilyIndex, &iconMaskIndex](const Variable &variable) { auto value = variable.value; switch (value.type().tag) { case Tag::Invalid: @@ -527,8 +683,18 @@ bool Generator::collectUniqueValues() { case Tag::Font: { auto v(value.Font()); pxValues_.insert(v.size, true); - if (!v.family.empty() && !fontFamilyValues_.contains(v.family)) { - fontFamilyValues_.insert(v.family, ++fontFamilyIndex); + if (!v.family.empty() && !fontFamilies_.contains(v.family)) { + fontFamilies_.insert(v.family, ++fontFamilyIndex); + } + } break; + case Tag::Icon: { + auto v(value.Icon()); + for (const auto &part : v.parts) { + pxValues_.insert(part.offset.Point().x, true); + pxValues_.insert(part.offset.Point().y, true); + if (!iconMasks_.contains(part.filename)) { + iconMasks_.insert(part.filename, ++iconMaskIndex); + } } } break; case Tag::Struct: { diff --git a/Telegram/SourceFiles/codegen/style/generator.h b/Telegram/SourceFiles/codegen/style/generator.h index b97460360..0c5bf2151 100644 --- a/Telegram/SourceFiles/codegen/style/generator.h +++ b/Telegram/SourceFiles/codegen/style/generator.h @@ -54,8 +54,10 @@ private: bool writeVariableDefinitions(); bool writeRefsDefinition(); bool writeVariableInit(); - bool writePxValues(); - bool writeFontFamilyValues(); + bool writePxValuesInit(); + bool writeFontFamiliesInit(); + bool writeIconValues(); + bool writeIconsInit(); bool collectUniqueValues(); @@ -65,7 +67,8 @@ private: std::unique_ptr source_, header_; QMap pxValues_; - QMap fontFamilyValues_; + QMap fontFamilies_; + QMap iconMasks_; // icon file -> index std::vector scales = { 4, 5, 6, 8 }; // scale / 4 gives our 1.00, 1.25, 1.50, 2.00 std::vectorscaleNames = { "dbisOne", "dbisOneAndQuarter", "dbisOneAndHalf", "dbisTwo" }; diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.cpp b/Telegram/SourceFiles/codegen/style/parsed_file.cpp index 91a5f6077..1a397765f 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.cpp +++ b/Telegram/SourceFiles/codegen/style/parsed_file.cpp @@ -298,6 +298,8 @@ structure::Value ParsedFile::readValue() { return marginsValue; } else if (auto fontValue = readFontValue()) { return fontValue; + } else if (auto iconValue = readIconValue()) { + return iconValue; } else if (auto numericValue = readNumericValue()) { return numericValue; } else if (auto stringValue = readStringValue()) { @@ -728,6 +730,46 @@ structure::Value ParsedFile::readFontValue() { return {}; } +structure::Value ParsedFile::readIconValue() { + if (auto font = file_.getToken(BasicType::Name)) { + if (tokenValue(font) == "icon") { + std::vector parts; + if (file_.getToken(BasicType::LeftBrace)) { // complex icon + do { + if (file_.getToken(BasicType::RightBrace)) { + break; + } else if (file_.getToken(BasicType::LeftBrace)) { + if (auto part = readMonoIconFields()) { + assertNextToken(BasicType::RightBrace); + parts.push_back(part); + file_.getToken(BasicType::Comma); + continue; + } + return {}; + } else { + logErrorUnexpectedToken() << "icon part or '}'"; + return {}; + } + } while (true); + + } else if (file_.getToken(BasicType::LeftParenthesis)) { // short icon + if (auto theOnlyPart = readMonoIconFields()) { + assertNextToken(BasicType::RightParenthesis); + parts.push_back(theOnlyPart); + } + } + + if (parts.empty()) { + logErrorUnexpectedToken() << "at least one icon part"; + return {}; + } + return { structure::data::icon { parts } }; + } + file_.putBack(); + } + return {}; +} + structure::Value ParsedFile::readCopyValue() { if (auto copyName = file_.getToken(BasicType::Name)) { structure::FullName name = { tokenValue(copyName) }; @@ -739,6 +781,61 @@ structure::Value ParsedFile::readCopyValue() { return {}; } +structure::data::monoicon ParsedFile::readMonoIconFields() { + structure::data::monoicon result; + result.filename = readMonoIconFilename(); + if (!result.filename.isEmpty() && file_.getToken(BasicType::Comma)) { + if (auto color = readValue()) { + if (color.type().tag == structure::TypeTag::Color) { + result.color = color; + if (file_.getToken(BasicType::Comma)) { + if (auto offset = readValue()) { + if (offset.type().tag == structure::TypeTag::Point) { + result.offset = offset; + } else { + logErrorUnexpectedToken() << "icon offset"; + } + } else { + logErrorUnexpectedToken() << "icon offset"; + } + } else { + result.offset = { structure::data::point { 0, 0 } }; + } + } else { + logErrorUnexpectedToken() << "icon color"; + } + } else { + logErrorUnexpectedToken() << "icon color"; + } + } + return result; +} + +QString ParsedFile::readMonoIconFilename() { + if (auto filename = readValue()) { + if (filename.type().tag == structure::TypeTag::String) { + auto filepath = QString::fromStdString(filename.String()); + for (const auto &path : options_.includePaths) { + QFileInfo fileinfo(path + '/' + filepath + ".png"); + if (fileinfo.exists()) { + return path + '/' + filepath; + } + } + for (const auto &path : options_.includePaths) { + QFileInfo fileinfo(path + "/icons/" + filepath + ".png"); + if (fileinfo.exists()) { + return path + "/icons/" + filepath; + } + } + logError(common::kErrorFileNotFound) << "could not open icon file '" << filename.String() << "'"; + } else if (filename.type().tag == structure::TypeTag::Size) { + return QString("size://%1,%2").arg(filename.Size().width).arg(filename.Size().height); + } + } + logErrorUnexpectedToken() << "icon filename or rect size"; + return QString(); +} + BasicToken ParsedFile::assertNextToken(BasicToken::Type type) { auto result = file_.getToken(type); if (!result) { diff --git a/Telegram/SourceFiles/codegen/style/parsed_file.h b/Telegram/SourceFiles/codegen/style/parsed_file.h index c8cdcd1ed..158782c53 100644 --- a/Telegram/SourceFiles/codegen/style/parsed_file.h +++ b/Telegram/SourceFiles/codegen/style/parsed_file.h @@ -95,8 +95,12 @@ private: structure::Value readAlignValue(); structure::Value readMarginsValue(); structure::Value readFontValue(); + structure::Value readIconValue(); structure::Value readCopyValue(); + structure::data::monoicon readMonoIconFields(); + QString readMonoIconFilename(); + // Read next token and fire unexpected token error if it is not of "type". using BasicToken = common::BasicTokenizedFile::Token; BasicToken assertNextToken(BasicToken::Type type); diff --git a/Telegram/SourceFiles/codegen/style/processor.cpp b/Telegram/SourceFiles/codegen/style/processor.cpp index 77c241b14..5c385f25f 100644 --- a/Telegram/SourceFiles/codegen/style/processor.cpp +++ b/Telegram/SourceFiles/codegen/style/processor.cpp @@ -31,7 +31,7 @@ namespace codegen { namespace style { namespace { -constexpr int kErrorCantWritePath = 851; +constexpr int kErrorCantWritePath = 821; QString destFileBaseName(const structure::Module &module) { return "style_" + QFileInfo(module.filepath()).baseName(); diff --git a/Telegram/SourceFiles/codegen/style/sprite_generator.cpp b/Telegram/SourceFiles/codegen/style/sprite_generator.cpp index 34a6e948a..cc3c2c1bc 100644 --- a/Telegram/SourceFiles/codegen/style/sprite_generator.cpp +++ b/Telegram/SourceFiles/codegen/style/sprite_generator.cpp @@ -40,12 +40,11 @@ using structure::logFullName; namespace { -constexpr int kErrorFileNotFound = 881; -constexpr int kErrorSpritesIntersect = 882; -constexpr int kErrorCouldNotGenerate = 886; -constexpr int kErrorCouldNotSerialize = 886; -constexpr int kErrorCouldNotOpen = 886; -constexpr int kErrorCouldNotWrite = 886; +constexpr int kErrorSpritesIntersect = 841; +constexpr int kErrorCouldNotGenerate = 842; +constexpr int kErrorCouldNotSerialize = 843; +constexpr int kErrorCouldNotOpen = 844; +constexpr int kErrorCouldNotWrite = 845; } // namespace @@ -64,7 +63,7 @@ bool SpriteGenerator::writeSprites() { sprite2x_ = QImage(basePath_ + "/art/sprite_200x.png"); if (sprite2x_.isNull()) { - common::logError(kErrorFileNotFound, "/art/sprite_200x.png") << "sprite file was not found"; + common::logError(common::kErrorFileNotFound, "/art/sprite_200x.png") << "sprite file was not found"; return false; } std::vector sizes = { 5, 6 }; diff --git a/Telegram/SourceFiles/codegen/style/structure_types.cpp b/Telegram/SourceFiles/codegen/style/structure_types.cpp index 0cb47e23e..cec0f0c48 100644 --- a/Telegram/SourceFiles/codegen/style/structure_types.cpp +++ b/Telegram/SourceFiles/codegen/style/structure_types.cpp @@ -35,6 +35,7 @@ struct Value::DataTypes { int value_; }; + class TDouble : public DataBase { public: TDouble(double value) : value_(value) { @@ -45,6 +46,7 @@ struct Value::DataTypes { double value_; }; + class TString : public DataBase { public: TString(std::string value) : value_(value) { @@ -55,6 +57,7 @@ struct Value::DataTypes { std::string value_; }; + class TPoint : public DataBase { public: TPoint(data::point value) : value_(value) { @@ -65,6 +68,7 @@ struct Value::DataTypes { data::point value_; }; + class TSprite : public DataBase { public: TSprite(data::sprite value) : value_(value) { @@ -75,6 +79,7 @@ struct Value::DataTypes { data::sprite value_; }; + class TSize : public DataBase { public: TSize(data::size value) : value_(value) { @@ -85,6 +90,7 @@ struct Value::DataTypes { data::size value_; }; + class TColor : public DataBase { public: TColor(data::color value) : value_(value) { @@ -95,6 +101,7 @@ struct Value::DataTypes { data::color value_; }; + class TMargins : public DataBase { public: TMargins(data::margins value) : value_(value) { @@ -105,6 +112,7 @@ struct Value::DataTypes { data::margins value_; }; + class TFont : public DataBase { public: TFont(data::font value) : value_(value) { @@ -115,6 +123,18 @@ struct Value::DataTypes { data::font value_; }; + + class TIcon : public DataBase { + public: + TIcon(data::icon value) : value_(value) { + } + data::icon Icon() const override { return value_; } + + private: + data::icon value_; + + }; + class TFields : public DataBase { public: TFields(data::fields value) : value_(value) { @@ -149,6 +169,9 @@ Value::Value(data::margins value) : Value(TypeTag::Margins, std::make_shared(value)) { } +Value::Value(data::icon value) : Value(TypeTag::Icon, std::make_shared(value)) { +} + Value::Value(const FullName &type, data::fields value) : type_ { TypeTag::Struct, type } , data_(std::make_shared(value)) { @@ -194,6 +217,7 @@ Value::Value(Type type, Qt::Initialization) : type_(type) { case TypeTag::Align: data_ = std::make_shared("topleft"); break; case TypeTag::Margins: data_ = std::make_shared(data::margins { 0, 0, 0, 0 }); break; case TypeTag::Font: data_ = std::make_shared(data::font { "", 13, 0 }); break; + case TypeTag::Icon: data_ = std::make_shared(data::icon {}); break; case TypeTag::Struct: data_ = std::make_shared(data::fields {}); break; } } diff --git a/Telegram/SourceFiles/codegen/style/structure_types.h b/Telegram/SourceFiles/codegen/style/structure_types.h index 9146621fd..b25fc6fd0 100644 --- a/Telegram/SourceFiles/codegen/style/structure_types.h +++ b/Telegram/SourceFiles/codegen/style/structure_types.h @@ -21,6 +21,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include +#include #include #include @@ -35,6 +36,7 @@ inline std::string logFullName(const FullName &name) { } struct Variable; +class Value; enum class TypeTag { Invalid, @@ -51,6 +53,7 @@ enum class TypeTag { Align, Margins, Font, + Icon, Struct, }; @@ -78,18 +81,23 @@ inline int pxAdjust(int value, int scale) { struct point { int x, y; }; + struct sprite { int left, top, width, height; }; + struct size { int width, height; }; + struct color { uchar red, green, blue, alpha; }; + struct margins { int left, top, right, bottom; }; + struct font { enum Flag { Bold = 0x01, @@ -100,6 +108,12 @@ struct font { int size; int flags; }; + +struct monoicon; +struct icon { + std::vector parts; +}; + struct field; // defined after Variable is defined using fields = QList; @@ -114,6 +128,7 @@ public: Value(data::color value); Value(data::margins value); Value(data::font value); + Value(data::icon value); Value(const FullName &type, data::fields value); // Can be only double. @@ -138,6 +153,7 @@ public: data::color Color() const { return data_->Color(); }; data::margins Margins() const { return data_->Margins(); }; data::font Font() const { return data_->Font(); }; + data::icon Icon() const { return data_->Icon(); }; const data::fields *Fields() const { return data_->Fields(); }; data::fields *Fields() { return data_->Fields(); }; @@ -167,6 +183,7 @@ private: virtual data::color Color() const { return {}; }; virtual data::margins Margins() const { return {}; }; virtual data::font Font() const { return {}; }; + virtual data::icon Icon() const { return {}; }; virtual const data::fields *Fields() const { return nullptr; }; virtual data::fields *Fields() { return nullptr; }; virtual ~DataBase() { @@ -202,6 +219,16 @@ struct field { Variable variable; Status status; }; + +struct monoicon { + QString filename; + Value color; + Value offset; + + explicit operator bool() const { + return !filename.isEmpty(); + } +}; } // namespace data struct StructField { diff --git a/Telegram/SourceFiles/dialogs/dialogs_layout.cpp b/Telegram/SourceFiles/dialogs/dialogs_layout.cpp index 081463267..e05231b27 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_layout.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_layout.cpp @@ -129,22 +129,7 @@ void createCircleMask(int size) { } QImage colorizeCircleHalf(int size, int half, int xoffset, style::color color) { - int a = color->c.alpha() + 1; - int fg_r = color->c.red() * a, fg_g = color->c.green() * a, fg_b = color->c.blue() * a, fg_a = 255 * a; - - QImage result(half, size, QImage::Format_ARGB32_Premultiplied); - uchar *bits = result.bits(), *maskbits = unreadBadgeStyle->circle.bits(); - int bpl = result.bytesPerLine(), maskbpl = unreadBadgeStyle->circle.bytesPerLine(); - for (int x = 0; x < half; ++x) { - for (int y = 0; y < size; ++y) { - int s = y * bpl + (x * 4); - int o = maskbits[y * maskbpl + x + xoffset] + 1; - bits[s + 0] = (fg_b * o) >> 16; - bits[s + 1] = (fg_g * o) >> 16; - bits[s + 2] = (fg_r * o) >> 16; - bits[s + 3] = (fg_a * o) >> 16; - } - } + auto result = style::colorizeImage(unreadBadgeStyle->circle, color, QRect(xoffset, 0, half, size)); result.setDevicePixelRatio(cRetinaFactor()); return result; } diff --git a/Telegram/SourceFiles/dialogswidget.cpp b/Telegram/SourceFiles/dialogswidget.cpp index f6447d0a4..b2de4040d 100644 --- a/Telegram/SourceFiles/dialogswidget.cpp +++ b/Telegram/SourceFiles/dialogswidget.cpp @@ -23,7 +23,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "dialogs/dialogs_indexed_list.h" #include "dialogs/dialogs_layout.h" -#include "ui/style.h" #include "lang.h" #include "application.h" #include "mainwindow.h" @@ -119,8 +118,7 @@ void DialogsInner::paintRegion(Painter &p, const QRegion ®ion, bool paintingO if (!paintingOther) { if (selected) { int skip = (st::mentionHeight - st::notifyClose.icon.pxHeight()) / 2; - p.drawPixmap(QPoint(w - st::notifyClose.icon.pxWidth() - skip, skip), App::sprite(), st::notifyClose.icon); - + p.drawSprite(QPoint(w - st::notifyClose.icon.pxWidth() - skip, skip), st::notifyClose.icon); } QString first = (_hashtagFilter.size() < 2) ? QString() : ('#' + _hashtagResults.at(from).mid(0, _hashtagFilter.size() - 1)), second = (_hashtagFilter.size() < 2) ? ('#' + _hashtagResults.at(from)) : _hashtagResults.at(from).mid(_hashtagFilter.size() - 1); int32 firstwidth = st::mentionFont->width(first), secondwidth = st::mentionFont->width(second); @@ -299,10 +297,10 @@ void DialogsInner::searchInPeerPaint(Painter &p, int32 w, bool onlyBackground) c // draw chat icon if (_searchInPeer->isChat() || _searchInPeer->isMegagroup()) { - p.drawPixmap(QPoint(rectForName.left() + st::dlgChatImgPos.x(), rectForName.top() + st::dlgChatImgPos.y()), App::sprite(), st::dlgChatImg); + p.drawSprite(QPoint(rectForName.left() + st::dlgChatImgPos.x(), rectForName.top() + st::dlgChatImgPos.y()), st::dlgChatImg); rectForName.setLeft(rectForName.left() + st::dlgImgSkip); } else if (_searchInPeer->isChannel()) { - p.drawPixmap(QPoint(rectForName.left() + st::dlgChannelImgPos.x(), rectForName.top() + st::dlgChannelImgPos.y()), App::sprite(), st::dlgChannelImg); + p.drawSprite(QPoint(rectForName.left() + st::dlgChannelImgPos.x(), rectForName.top() + st::dlgChannelImgPos.y()), st::dlgChannelImg); rectForName.setLeft(rectForName.left() + st::dlgImgSkip); } @@ -2531,7 +2529,7 @@ void DialogsWidget::keyPressEvent(QKeyEvent *e) { void DialogsWidget::paintEvent(QPaintEvent *e) { if (App::wnd() && App::wnd()->contentOverlapped(this, e)) return; - QPainter p(this); + Painter p(this); QRect r(e->rect()); if (r != rect()) { p.setClipRect(r); @@ -2545,7 +2543,7 @@ void DialogsWidget::paintEvent(QPaintEvent *e) { } p.drawPixmap(a_coordOver.current(), 0, _cacheOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow.rect()); return; } QRect above(0, 0, width(), _scroll.y()); diff --git a/Telegram/SourceFiles/dropdown.cpp b/Telegram/SourceFiles/dropdown.cpp index 29bc777c1..8ffc92aef 100644 --- a/Telegram/SourceFiles/dropdown.cpp +++ b/Telegram/SourceFiles/dropdown.cpp @@ -1427,7 +1427,7 @@ void StickerPanInner::paintStickers(Painter &p, const QRect &r) { QPoint xPos = pos + QPoint(st::stickerPanSize.width() - st::stickerPanDelete.pxWidth(), 0); p.setOpacity(hover * (xHover + (1 - xHover) * st::stickerPanDeleteOpacity)); - p.drawPixmapLeft(xPos, width(), App::sprite(), st::stickerPanDelete); + p.drawSpriteLeft(xPos, width(), st::stickerPanDelete); p.setOpacity(1); } } @@ -3951,7 +3951,9 @@ void MentionsInner::paintEvent(QPaintEvent *e) { if (selected) { p.fillRect(0, i * st::mentionHeight, width(), st::mentionHeight, st::mentionBgOver->b); int skip = (st::mentionHeight - st::notifyClose.icon.pxHeight()) / 2; - if (!_hrows->isEmpty() || (!_mrows->isEmpty() && i < _recentInlineBotsInRows)) p.drawPixmap(QPoint(width() - st::notifyClose.icon.pxWidth() - skip, i * st::mentionHeight + skip), App::sprite(), st::notifyClose.icon); + if (!_hrows->isEmpty() || (!_mrows->isEmpty() && i < _recentInlineBotsInRows)) { + p.drawSprite(QPoint(width() - st::notifyClose.icon.pxWidth() - skip, i * st::mentionHeight + skip), st::notifyClose.icon); + } } p.setPen(st::black->p); if (!_mrows->isEmpty()) { diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index de11508b2..5b9c45aac 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -23,7 +23,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "core/click_handler_types.h" #include "dialogs/dialogs_indexed_list.h" -#include "ui/style.h" #include "lang.h" #include "mainwidget.h" #include "application.h" @@ -5819,9 +5818,9 @@ void HistoryWebPage::draw(Painter &p, const QRect &r, TextSelection selection, u if (_data->type == WebPageVideo) { if (_data->siteName == qstr("YouTube")) { - p.drawPixmap(QPoint((pixwidth - st::youtubeIcon.pxWidth()) / 2, (pixheight - st::youtubeIcon.pxHeight()) / 2), App::sprite(), st::youtubeIcon); + p.drawSprite(QPoint((pixwidth - st::youtubeIcon.pxWidth()) / 2, (pixheight - st::youtubeIcon.pxHeight()) / 2), st::youtubeIcon); } else { - p.drawPixmap(QPoint((pixwidth - st::videoIcon.pxWidth()) / 2, (pixheight - st::videoIcon.pxHeight()) / 2), App::sprite(), st::videoIcon); + p.drawSprite(QPoint((pixwidth - st::videoIcon.pxWidth()) / 2, (pixheight - st::videoIcon.pxHeight()) / 2), st::videoIcon); } if (_durationWidth) { int32 dateX = pixwidth - _durationWidth - st::msgDateImgDelta - 2 * st::msgDateImgPadding.x(); @@ -7304,7 +7303,7 @@ void HistoryMessage::drawInfo(Painter &p, int32 right, int32 bottom, int32 width } QPoint iconPos; - const QRect *iconRect = 0; + const style::sprite *iconRect = nullptr; if (auto views = Get()) { iconPos = QPoint(infoRight - infoW + st::msgViewsPos.x(), infoBottom - st::msgViewsImg.pxHeight() + st::msgViewsPos.y()); if (id > 0) { @@ -7322,11 +7321,11 @@ void HistoryMessage::drawInfo(Painter &p, int32 right, int32 bottom, int32 width iconRect = &(invertedsprites ? st::msgInvSendingViewsImg : st::msgSendingViewsImg); } } - p.drawPixmap(iconPos, App::sprite(), *iconRect); + p.drawSprite(iconPos, *iconRect); } else if (id < 0 && history()->peer->isSelf()) { iconPos = QPoint(infoRight - infoW, infoBottom - st::msgViewsImg.pxHeight() + st::msgViewsPos.y()); iconRect = &(invertedsprites ? st::msgInvSendingViewsImg : st::msgSendingViewsImg); - p.drawPixmap(iconPos, App::sprite(), *iconRect); + p.drawSprite(iconPos, *iconRect); } if (outbg) { iconPos = QPoint(infoRight - st::msgCheckImg.pxWidth() + st::msgCheckPos.x(), infoBottom - st::msgCheckImg.pxHeight() + st::msgCheckPos.y()); @@ -7339,7 +7338,7 @@ void HistoryMessage::drawInfo(Painter &p, int32 right, int32 bottom, int32 width } else { iconRect = &(invertedsprites ? st::msgInvSendingImg : st::msgSendingImg); } - p.drawPixmap(iconPos, App::sprite(), *iconRect); + p.drawSprite(iconPos, *iconRect); } } diff --git a/Telegram/SourceFiles/historywidget.cpp b/Telegram/SourceFiles/historywidget.cpp index 181b72cd2..7e9657169 100644 --- a/Telegram/SourceFiles/historywidget.cpp +++ b/Telegram/SourceFiles/historywidget.cpp @@ -24,7 +24,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "boxes/confirmbox.h" #include "boxes/photosendbox.h" #include "ui/filedialog.h" -#include "ui/style.h" #include "ui/toast/toast.h" #include "inline_bots/inline_bot_result.h" #include "lang.h" @@ -5745,12 +5744,12 @@ void HistoryWidget::onForwardHere() { App::forward(_peer->id, ForwardContextMessage); } -void HistoryWidget::paintTopBar(QPainter &p, float64 over, int32 decreaseWidth) { +void HistoryWidget::paintTopBar(Painter &p, float64 over, int32 decreaseWidth) { if (_a_show.animating()) { p.drawPixmap(a_coordUnder.current(), 0, _cacheTopBarUnder); p.drawPixmap(a_coordOver.current(), 0, _cacheTopBarOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), st::topBarHeight), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), st::topBarHeight), App::sprite(), st::slideShadow.rect()); return; } @@ -5773,10 +5772,10 @@ void HistoryWidget::paintTopBar(QPainter &p, float64 over, int32 decreaseWidth) if (Adaptive::OneColumn()) { p.setOpacity(st::topBarForwardAlpha + (1 - st::topBarForwardAlpha) * over); - p.drawPixmap(QPoint((st::topBarForwardPadding.right() - st::topBarBackwardImg.pxWidth()) / 2, (st::topBarHeight - st::topBarBackwardImg.pxHeight()) / 2), App::sprite(), st::topBarBackwardImg); + p.drawSprite(QPoint((st::topBarForwardPadding.right() - st::topBarBackwardImg.pxWidth()) / 2, (st::topBarHeight - st::topBarBackwardImg.pxHeight()) / 2), st::topBarBackwardImg); } else { p.setOpacity(st::topBarForwardAlpha + (1 - st::topBarForwardAlpha) * over); - p.drawPixmap(QPoint(width() - (st::topBarForwardPadding.right() + st::topBarForwardImg.pxWidth()) / 2, (st::topBarHeight - st::topBarForwardImg.pxHeight()) / 2), App::sprite(), st::topBarForwardImg); + p.drawSprite(QPoint(width() - (st::topBarForwardPadding.right() + st::topBarForwardImg.pxWidth()) / 2, (st::topBarHeight - st::topBarForwardImg.pxHeight()) / 2), st::topBarForwardImg); } } @@ -7935,7 +7934,7 @@ void HistoryWidget::drawField(Painter &p) { p.fillRect(0, backy, width(), backh, st::taMsgField.bgColor->b); if (_editMsgId || _replyToId || (!hasForward && _kbReplyTo)) { int32 replyLeft = st::replySkip; - p.drawPixmap(QPoint(st::replyIconPos.x(), backy + st::replyIconPos.y()), App::sprite(), _editMsgId ? st::editIcon : st::replyIcon); + p.drawSprite(QPoint(st::replyIconPos.x(), backy + st::replyIconPos.y()), _editMsgId ? st::editIcon : st::replyIcon); if (!drawPreview) { if (drawMsgText) { if (drawMsgText->getMedia() && drawMsgText->getMedia()->hasReplyPreview()) { @@ -7963,7 +7962,7 @@ void HistoryWidget::drawField(Painter &p) { } } else if (from && text) { int32 forwardLeft = st::replySkip; - p.drawPixmap(QPoint(st::replyIconPos.x(), backy + st::replyIconPos.y()), App::sprite(), st::forwardIcon); + p.drawSprite(QPoint(st::replyIconPos.x(), backy + st::replyIconPos.y()), st::forwardIcon); if (!drawPreview) { if (!preview->isNull()) { QRect to(forwardLeft, backy + st::msgReplyPadding.top(), st::msgReplyBarSize.height(), st::msgReplyBarSize.height()); @@ -8094,7 +8093,7 @@ void HistoryWidget::paintEvent(QPaintEvent *e) { } p.drawPixmap(a_coordOver.current(), 0, _cacheOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow.rect()); return; } diff --git a/Telegram/SourceFiles/historywidget.h b/Telegram/SourceFiles/historywidget.h index e744c6e88..667471617 100644 --- a/Telegram/SourceFiles/historywidget.h +++ b/Telegram/SourceFiles/historywidget.h @@ -520,7 +520,7 @@ public: void updateTopBarSelection(); - void paintTopBar(QPainter &p, float64 over, int32 decreaseWidth); + void paintTopBar(Painter &p, float64 over, int32 decreaseWidth); void topBarClick(); void loadMessages(); diff --git a/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp b/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp index a18ec139a..42fd4e156 100644 --- a/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp +++ b/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp @@ -21,6 +21,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "stdafx.h" #include "inline_bots/inline_bot_layout_internal.h" +#include "styles/style_overview.h" #include "inline_bots/inline_bot_result.h" #include "localstorage.h" #include "mainwidget.h" diff --git a/Telegram/SourceFiles/intro/introcode.cpp b/Telegram/SourceFiles/intro/introcode.cpp index 16f71e8ce..74c927daf 100644 --- a/Telegram/SourceFiles/intro/introcode.cpp +++ b/Telegram/SourceFiles/intro/introcode.cpp @@ -19,12 +19,10 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "lang.h" -#include "ui/style.h" - -#include "application.h" - #include "intro/introcode.h" + +#include "lang.h" +#include "application.h" #include "intro/introsignup.h" #include "intro/intropwdcheck.h" diff --git a/Telegram/SourceFiles/intro/introphone.cpp b/Telegram/SourceFiles/intro/introphone.cpp index 595ee2ce9..e5fcb4956 100644 --- a/Telegram/SourceFiles/intro/introphone.cpp +++ b/Telegram/SourceFiles/intro/introphone.cpp @@ -19,12 +19,10 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "lang.h" -#include "ui/style.h" - -#include "application.h" - #include "intro/introphone.h" + +#include "lang.h" +#include "application.h" #include "intro/introcode.h" namespace { diff --git a/Telegram/SourceFiles/intro/intropwdcheck.cpp b/Telegram/SourceFiles/intro/intropwdcheck.cpp index ec0144e2b..ae6d34348 100644 --- a/Telegram/SourceFiles/intro/intropwdcheck.cpp +++ b/Telegram/SourceFiles/intro/intropwdcheck.cpp @@ -21,13 +21,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "stdafx.h" #include "intro/intropwdcheck.h" -#include "lang.h" -#include "ui/style.h" #include "ui/filedialog.h" #include "boxes/confirmbox.h" - +#include "lang.h" #include "application.h" - #include "intro/introsignup.h" IntroPwdCheck::IntroPwdCheck(IntroWidget *parent) : IntroStep(parent) diff --git a/Telegram/SourceFiles/intro/introsignup.cpp b/Telegram/SourceFiles/intro/introsignup.cpp index d1b0bb29f..ab8bfc44d 100644 --- a/Telegram/SourceFiles/intro/introsignup.cpp +++ b/Telegram/SourceFiles/intro/introsignup.cpp @@ -19,15 +19,13 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "lang.h" -#include "ui/style.h" +#include "intro/introsignup.h" + #include "ui/filedialog.h" #include "boxes/photocropbox.h" - +#include "lang.h" #include "application.h" -#include "intro/introsignup.h" - IntroSignup::IntroSignup(IntroWidget *parent) : IntroStep(parent) , a_errorAlpha(0) , a_photoOver(0) @@ -126,15 +124,15 @@ void IntroSignup::paintEvent(QPaintEvent *e) { if (_photoSmall.isNull()) { if (a_photoOver.current() < 1) { - QRect pix(st::setPhotoImg); - pix.moveTo(pix.x() + (pix.width() - st::introPhotoSize) / 2, pix.y() + (pix.height() - st::introPhotoSize) / 2); - pix.setSize(QSize(st::introPhotoSize, st::introPhotoSize)); + QRect pix(st::setPhotoImg.rect()); + pix.moveTo(pix.x() + (pix.width() - (st::introPhotoSize * cIntRetinaFactor())) / 2, pix.y() + (pix.height() - (st::introPhotoSize * cIntRetinaFactor())) / 2); + pix.setSize(QSize(st::introPhotoSize * cIntRetinaFactor(), st::introPhotoSize * cIntRetinaFactor())); p.drawPixmap(QPoint(_phLeft, _phTop), App::sprite(), pix); } if (a_photoOver.current() > 0) { - QRect pix(st::setOverPhotoImg); - pix.moveTo(pix.x() + (pix.width() - st::introPhotoSize) / 2, pix.y() + (pix.height() - st::introPhotoSize) / 2); - pix.setSize(QSize(st::introPhotoSize, st::introPhotoSize)); + QRect pix(st::setOverPhotoImg.rect()); + pix.moveTo(pix.x() + (pix.width() - (st::introPhotoSize * cIntRetinaFactor())) / 2, pix.y() + (pix.height() - (st::introPhotoSize * cIntRetinaFactor())) / 2); + pix.setSize(QSize(st::introPhotoSize * cIntRetinaFactor(), st::introPhotoSize * cIntRetinaFactor())); p.setOpacity(a_photoOver.current()); p.drawPixmap(QPoint(_phLeft, _phTop), App::sprite(), pix); p.setOpacity(1); diff --git a/Telegram/SourceFiles/intro/introstart.cpp b/Telegram/SourceFiles/intro/introstart.cpp index 3bcf243fe..8753300fc 100644 --- a/Telegram/SourceFiles/intro/introstart.cpp +++ b/Telegram/SourceFiles/intro/introstart.cpp @@ -19,14 +19,11 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "lang.h" -#include "ui/style.h" - -#include "application.h" - #include "intro/introstart.h" -#include "intro/introphone.h" +#include "lang.h" +#include "application.h" +#include "intro/introphone.h" #include "langloaderplain.h" IntroStart::IntroStart(IntroWidget *parent) : IntroStep(parent) @@ -65,7 +62,7 @@ IntroStart::IntroStart(IntroWidget *parent) : IntroStep(parent) void IntroStart::paintEvent(QPaintEvent *e) { bool trivial = (rect() == e->rect()); - QPainter p(this); + Painter p(this); if (!trivial) { p.setClipRect(e->rect()); } @@ -75,7 +72,7 @@ void IntroStart::paintEvent(QPaintEvent *e) { p.setPen(st::introColor->p); p.drawText((width() - _headerWidth) / 2, hy, qsl("Telegram Desktop")); - p.drawPixmap(QPoint((width() - st::aboutIcon.pxWidth()) / 2, hy - st::introIconSkip - st::aboutIcon.pxHeight()), App::sprite(), st::aboutIcon); + p.drawSprite(QPoint((width() - st::aboutIcon.pxWidth()) / 2, hy - st::introIconSkip - st::aboutIcon.pxHeight()), st::aboutIcon); } void IntroStart::resizeEvent(QResizeEvent *e) { diff --git a/Telegram/SourceFiles/intro/introwidget.cpp b/Telegram/SourceFiles/intro/introwidget.cpp index d26b7c050..8323ba7e0 100644 --- a/Telegram/SourceFiles/intro/introwidget.cpp +++ b/Telegram/SourceFiles/intro/introwidget.cpp @@ -19,12 +19,10 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "lang.h" -#include "ui/style.h" - -#include "localstorage.h" - #include "intro/introwidget.h" + +#include "lang.h" +#include "localstorage.h" #include "intro/introstart.h" #include "intro/introphone.h" #include "intro/introcode.h" @@ -269,7 +267,7 @@ void IntroWidget::paintEvent(QPaintEvent *e) { } p.drawPixmap(a_coordOver.current(), 0, _cacheOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow.rect()); } else if (_a_stage.animating()) { p.setOpacity(a_opacityHide.current()); p.drawPixmap(step()->x() + st::introSlideShift + a_coordHide.current(), step()->y(), _cacheHide); diff --git a/Telegram/SourceFiles/layout.cpp b/Telegram/SourceFiles/layout.cpp index a808b5d91..b3ca53798 100644 --- a/Telegram/SourceFiles/layout.cpp +++ b/Telegram/SourceFiles/layout.cpp @@ -19,19 +19,17 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" -#include "lang.h" +#include "layout.h" +#include "lang.h" #include "mainwidget.h" #include "application.h" #include "fileuploader.h" #include "mainwindow.h" #include "ui/filedialog.h" #include "playerwidget.h" - #include "boxes/addcontactbox.h" #include "boxes/confirmbox.h" - #include "audio.h" #include "localstorage.h" diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index f4de05d94..7dc951f7f 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -22,7 +22,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "mainwidget.h" #include "ui/buttons/peer_avatar_button.h" -#include "ui/style.h" #include "window/top_bar_widget.h" #include "apiwrap.h" #include "dialogswidget.h" @@ -2471,7 +2470,7 @@ void MainWidget::paintEvent(QPaintEvent *e) { } p.drawPixmap(a_coordOver.current(), 0, _cacheOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow.rect()); } } @@ -2608,7 +2607,7 @@ bool MainWidget::needBackButton() { return _overview || _profile || (_history->peer() && _history->peer()->id); } -void MainWidget::paintTopBar(QPainter &p, float64 over, int32 decreaseWidth) { +void MainWidget::paintTopBar(Painter &p, float64 over, int32 decreaseWidth) { if (_profile) { _profile->paintTopBar(p, over, decreaseWidth); } else if (_overview) { diff --git a/Telegram/SourceFiles/mainwidget.h b/Telegram/SourceFiles/mainwidget.h index c505c79b4..537b56be5 100644 --- a/Telegram/SourceFiles/mainwidget.h +++ b/Telegram/SourceFiles/mainwidget.h @@ -153,7 +153,7 @@ public: void updateAdaptiveLayout(); bool needBackButton(); - void paintTopBar(QPainter &p, float64 over, int32 decreaseWidth); + void paintTopBar(Painter &p, float64 over, int32 decreaseWidth); Window::TopBarWidget *topBar(); PlayerWidget *player(); diff --git a/Telegram/SourceFiles/mainwindow.cpp b/Telegram/SourceFiles/mainwindow.cpp index 83c04d620..df3736dc4 100644 --- a/Telegram/SourceFiles/mainwindow.cpp +++ b/Telegram/SourceFiles/mainwindow.cpp @@ -19,12 +19,9 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" - #include "mainwindow.h" #include "zip.h" - -#include "ui/style.h" #include "lang.h" #include "shortcuts.h" #include "application.h" @@ -183,10 +180,10 @@ void NotifyWindow::updateNotifyDisplay() { QRect rectForName(st::notifyPhotoPos.x() + st::notifyPhotoSize + st::notifyTextLeft, st::notifyTextTop, itemWidth, st::msgNameFont->height); if (!App::passcoded() && cNotifyView() <= dbinvShowName) { if (history->peer->isChat() || history->peer->isMegagroup()) { - p.drawPixmap(QPoint(rectForName.left() + st::dlgChatImgPos.x(), rectForName.top() + st::dlgChatImgPos.y()), App::sprite(), st::dlgChatImg); + p.drawSprite(QPoint(rectForName.left() + st::dlgChatImgPos.x(), rectForName.top() + st::dlgChatImgPos.y()), st::dlgChatImg); rectForName.setLeft(rectForName.left() + st::dlgImgSkip); } else if (history->peer->isChannel()) { - p.drawPixmap(QPoint(rectForName.left() + st::dlgChannelImgPos.x(), rectForName.top() + st::dlgChannelImgPos.y()), App::sprite(), st::dlgChannelImg); + p.drawSprite(QPoint(rectForName.left() + st::dlgChannelImgPos.x(), rectForName.top() + st::dlgChannelImgPos.y()), st::dlgChannelImg); rectForName.setLeft(rectForName.left() + st::dlgImgSkip); } } @@ -1782,7 +1779,7 @@ void MainWindow::placeSmallCounter(QImage &img, int size, int count, style::colo } else { fontSize = (cntSize < 2) ? 22 : 22; } - style::font f(fontSize); + style::font f = { fontSize, 0, 0 }; int32 w = f->width(cnt), d, r; if (size == 16) { d = (cntSize < 2) ? 2 : 1; @@ -1831,7 +1828,7 @@ QImage MainWindow::iconWithCounter(int size, int count, style::color bg, bool sm } else { fontSize = (cntSize < 2) ? 22 : ((cntSize < 3) ? 20 : 16); } - style::font f(fontSize); + style::font f = { fontSize, 0, 0 }; int32 w = f->width(cnt), d, r; if (size == 16) { d = (cntSize < 2) ? 5 : ((cntSize < 3) ? 2 : 1); diff --git a/Telegram/SourceFiles/mediaview.cpp b/Telegram/SourceFiles/mediaview.cpp index 24d0471ac..005e78a09 100644 --- a/Telegram/SourceFiles/mediaview.cpp +++ b/Telegram/SourceFiles/mediaview.cpp @@ -123,7 +123,7 @@ MediaView::MediaView() : TWidget(App::wnd()) _saveMsg = QRect(0, 0, _saveMsgText.maxWidth() + st::medviewSaveMsgPadding.left() + st::medviewSaveMsgPadding.right(), st::medviewSaveMsgFont->height + st::medviewSaveMsgPadding.top() + st::medviewSaveMsgPadding.bottom()); _saveMsgText.setLink(1, MakeShared(this)); - _transparentBrush = QBrush(App::sprite().copy(st::mvTransparentBrush)); + _transparentBrush = QBrush(App::sprite().copy(st::mvTransparentBrush.rect())); setWindowFlags(Qt::FramelessWindowHint | Qt::BypassWindowManagerHint | Qt::Tool | Qt::NoDropShadowWindowHint); moveToScreen(); @@ -1201,7 +1201,7 @@ void MediaView::paintEvent(QPaintEvent *e) { if (_saveMsgOpacity.current() > 0) { p.setOpacity(_saveMsgOpacity.current()); App::roundRect(p, _saveMsg, st::medviewSaveMsg, MediaviewSaveCorners); - p.drawPixmap(_saveMsg.topLeft() + st::medviewSaveMsgCheckPos, App::sprite(), st::medviewSaveMsgCheck); + p.drawSprite(_saveMsg.topLeft() + st::medviewSaveMsgCheckPos, st::medviewSaveMsgCheck); p.setPen(st::white->p); textstyleSet(&st::medviewSaveAsTextStyle); @@ -1300,7 +1300,7 @@ void MediaView::paintEvent(QPaintEvent *e) { } if (_leftNavIcon.intersects(r)) { p.setOpacity((o * st::mvIconOverOpacity + (1 - o) * st::mvIconOpacity) * co); - p.drawPixmap(_leftNavIcon.topLeft(), App::sprite(), st::mvLeft); + p.drawSprite(_leftNavIcon.topLeft(), st::mvLeft); } } @@ -1311,12 +1311,12 @@ void MediaView::paintEvent(QPaintEvent *e) { p.setOpacity(o * st::mvControlBgOpacity * co); for (int i = 0, l = region.rectCount(); i < l; ++i) { QRect fill(_rightNav.intersected(rs.at(i))); - if (!fill.isEmpty()) p.fillRect(fill, st::black->b); + if (!fill.isEmpty()) p.fillRect(fill, st::black); } } if (_rightNavIcon.intersects(r)) { p.setOpacity((o * st::mvIconOverOpacity + (1 - o) * st::mvIconOpacity) * co); - p.drawPixmap(_rightNavIcon.topLeft(), App::sprite(), st::mvRight); + p.drawSprite(_rightNavIcon.topLeft(), st::mvRight); } } @@ -1327,12 +1327,12 @@ void MediaView::paintEvent(QPaintEvent *e) { p.setOpacity(o * st::mvControlBgOpacity * co); for (int i = 0, l = region.rectCount(); i < l; ++i) { QRect fill(_closeNav.intersected(rs.at(i))); - if (!fill.isEmpty()) p.fillRect(fill, st::black->b); + if (!fill.isEmpty()) p.fillRect(fill, st::black); } } if (_closeNavIcon.intersects(r)) { p.setOpacity((o * st::mvIconOverOpacity + (1 - o) * st::mvIconOpacity) * co); - p.drawPixmap(_closeNavIcon.topLeft(), App::sprite(), st::mvClose); + p.drawSprite(_closeNavIcon.topLeft(), st::mvClose); } } @@ -1340,14 +1340,14 @@ void MediaView::paintEvent(QPaintEvent *e) { if (_saveVisible && _saveNavIcon.intersects(r)) { float64 o = overLevel(OverSave); p.setOpacity((o * st::mvIconOverOpacity + (1 - o) * st::mvIconOpacity) * co); - p.drawPixmap(_saveNavIcon.topLeft(), App::sprite(), st::mvSave); + p.drawSprite(_saveNavIcon.topLeft(), st::mvSave); } // more area if (_moreNavIcon.intersects(r)) { float64 o = overLevel(OverMore); p.setOpacity((o * st::mvIconOverOpacity + (1 - o) * st::mvIconOpacity) * co); - p.drawPixmap(_moreNavIcon.topLeft(), App::sprite(), st::mvMore); + p.drawSprite(_moreNavIcon.topLeft(), st::mvMore); } p.setPen(st::white->p); diff --git a/Telegram/SourceFiles/overview/overview.style b/Telegram/SourceFiles/overview/overview.style new file mode 100644 index 000000000..f300e6989 --- /dev/null +++ b/Telegram/SourceFiles/overview/overview.style @@ -0,0 +1,73 @@ +/* +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 +*/ +using "basic.style"; + +overviewCheckBg: #0006; +overviewCheckedBg: #2fa9e2; + +overviewPhotoSkip: 10px; +overviewPhotoBg: #F1F1F1; +overviewPhotoMinSize: minPhotoSize; +overviewPhotoCheck: icon { + { size(32px, 32px), overviewCheckBg }, + { "overview_photo_check", #fff, point(8px, 10px) }, +}; +overviewPhotoChecked: icon { + { size(32px, 32px), overviewCheckedBg }, + { "overview_photo_check", #fff, point(8px, 10px) }, +}; +overviewPhotoSelectOverlay: #0a7bb03f; + +overviewFilePadding: margins(0px, 3px, 16px, 3px); +overviewFileSize: 70px; +overviewFileNameTop: 7px; +overviewFileStatusTop: 27px; +overviewFileDateTop: 49px; +overviewFileChecked: #2fa9e2; +overviewFileCheck: #00000066; +overviewFileExtPadding: 5px; +overviewFileExtTop: 24px; +overviewFileExtFont: font(18px semibold); + +overviewLoader: size(34px, 14px); +overviewLoaderPoint: size(4px, 4px); +overviewLoaderSkip: 4px; + +playlistHoverBg: #f2f2f2; +playlistPadding: 10px; + +linksSearchMargin: margins(20px, 20px, 20px, 0px); +linksMaxWidth: 520px; +linksLetterFont: font(24px); +linksMargin: margins(0px, 7px, 0px, 5px); +linksTextTop: 6px; +linksBorder: 1px; +linksBorderFg: #eaeaea; +linksDateColor: #808080; +linksDateMargin: margins(0px, 15px, 0px, 2px); +overviewLinksCheck: icon { + { "overview_links_check_bg", overviewCheckBg }, + { "overview_links_check", #fff, point(4px, 5px) }, +}; +overviewLinksChecked: icon { + { "overview_links_check_bg", overviewCheckedBg }, + { "overview_links_check", #fff, point(4px, 5px) }, +}; diff --git a/Telegram/SourceFiles/overview/overview_layout.cpp b/Telegram/SourceFiles/overview/overview_layout.cpp index b830e0205..cbb0da758 100644 --- a/Telegram/SourceFiles/overview/overview_layout.cpp +++ b/Telegram/SourceFiles/overview/overview_layout.cpp @@ -21,15 +21,16 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "stdafx.h" #include "overview/overview_layout.h" +#include "styles/style_overview.h" +#include "ui/filedialog.h" +#include "boxes/addcontactbox.h" +#include "boxes/confirmbox.h" #include "lang.h" #include "mainwidget.h" #include "application.h" #include "fileuploader.h" #include "mainwindow.h" -#include "ui/filedialog.h" #include "playerwidget.h" -#include "boxes/addcontactbox.h" -#include "boxes/confirmbox.h" #include "audio.h" #include "localstorage.h" @@ -139,6 +140,21 @@ void Date::paint(Painter &p, const QRect &clip, TextSelection selection, const P } } +namespace { + +void paintPhotoVideoCheck(Painter &p, int width, int height, bool selected) { + int checkPosX = width - st::overviewPhotoCheck.width(); + int checkPosY = height - st::overviewPhotoCheck.height(); + if (selected) { + p.fillRect(QRect(0, 0, width, height), st::overviewPhotoSelectOverlay); + st::overviewPhotoChecked.paint(p, QPoint(checkPosX, checkPosY), width); + } else { + st::overviewPhotoCheck.paint(p, QPoint(checkPosX, checkPosY), width); + } +} + +} // namespace + Photo::Photo(PhotoData *photo, HistoryItem *parent) : ItemBase(parent) , _data(photo) , _link(new PhotoOpenClickHandler(photo)) @@ -160,7 +176,7 @@ int32 Photo::resizeGetHeight(int32 width) { } void Photo::paint(Painter &p, const QRect &clip, TextSelection selection, const PaintContext *context) const { - bool good = _data->loaded(); + bool good = _data->loaded(), selected = (selection == FullSelection); if (!good) { _data->medium->automaticLoad(_parent); good = _data->medium->loaded(); @@ -197,12 +213,8 @@ void Photo::paint(Painter &p, const QRect &clip, TextSelection selection, const } else { p.drawPixmap(0, 0, _pix); } - - if (selection == FullSelection) { - p.fillRect(QRect(0, 0, _width, _height), st::overviewPhotoSelectOverlay); - p.drawSprite(QPoint(rtl() ? 0 : (_width - st::overviewPhotoChecked.pxWidth()), _height - st::overviewPhotoChecked.pxHeight()), st::overviewPhotoChecked); - } else if (context->selecting) { - p.drawSprite(QPoint(rtl() ? 0 : (_width - st::overviewPhotoCheck.pxWidth()), _height - st::overviewPhotoCheck.pxHeight()), st::overviewPhotoCheck); + if (selected || context->selecting) { + paintPhotoVideoCheck(p, _width, _height, selected); } } @@ -335,11 +347,8 @@ void Video::paint(Painter &p, const QRect &clip, TextSelection selection, const _radial->draw(p, rinner, st::msgFileRadialLine, selected ? st::msgInBgSelected : st::msgInBg); } } - - if (selected) { - p.drawSprite(QPoint(rtl() ? 0 : (_width - st::overviewPhotoChecked.pxWidth()), _height - st::overviewPhotoChecked.pxHeight()), st::overviewPhotoChecked); - } else if (context->selecting) { - p.drawSprite(QPoint(rtl() ? 0 : (_width - st::overviewPhotoCheck.pxWidth()), _height - st::overviewPhotoCheck.pxHeight()), st::overviewPhotoCheck); + if (selected || context->selecting) { + paintPhotoVideoCheck(p, _width, _height, selected); } } @@ -1060,9 +1069,9 @@ void Link::paint(Painter &p, const QRect &clip, TextSelection selection, const P if (selection == FullSelection) { App::roundRect(p, rtlrect(0, top, st::dlgPhotoSize, st::dlgPhotoSize, _width), st::overviewPhotoSelectOverlay, PhotoSelectOverlayCorners); - p.drawSpriteLeft(QPoint(st::dlgPhotoSize - st::linksPhotoCheck.pxWidth(), top + st::dlgPhotoSize - st::linksPhotoCheck.pxHeight()), _width, st::linksPhotoChecked); + st::overviewLinksChecked.paint(p, QPoint(st::dlgPhotoSize - st::overviewLinksChecked.width(), top + st::dlgPhotoSize - st::overviewLinksChecked.height()), _width); } else if (context->selecting) { - p.drawSpriteLeft(QPoint(st::dlgPhotoSize - st::linksPhotoCheck.pxWidth(), top + st::dlgPhotoSize - st::linksPhotoCheck.pxHeight()), _width, st::linksPhotoCheck); + st::overviewLinksCheck.paint(p, QPoint(st::dlgPhotoSize - st::overviewLinksCheck.width(), top + st::dlgPhotoSize - st::overviewLinksCheck.height()), _width); } } diff --git a/Telegram/SourceFiles/overviewwidget.cpp b/Telegram/SourceFiles/overviewwidget.cpp index 6a7ffa811..dcd166361 100644 --- a/Telegram/SourceFiles/overviewwidget.cpp +++ b/Telegram/SourceFiles/overviewwidget.cpp @@ -20,17 +20,18 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" +#include "styles/style_overview.h" +#include "boxes/addcontactbox.h" +#include "boxes/confirmbox.h" +#include "boxes/photocropbox.h" +#include "ui/filedialog.h" +#include "window/top_bar_widget.h" #include "lang.h" #include "mainwindow.h" #include "mainwidget.h" #include "overviewwidget.h" -#include "boxes/addcontactbox.h" -#include "boxes/confirmbox.h" -#include "boxes/photocropbox.h" #include "application.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 @@ -1999,7 +2000,7 @@ void OverviewWidget::paintEvent(QPaintEvent *e) { } p.drawPixmap(a_coordOver.current(), 0, _cacheOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow.rect()); return; } @@ -2022,16 +2023,16 @@ void OverviewWidget::scrollReset() { _scroll.scrollToY((type() == OverviewLinks || type() == OverviewFiles) ? 0 : _scroll.scrollTopMax()); } -void OverviewWidget::paintTopBar(QPainter &p, float64 over, int32 decreaseWidth) { +void OverviewWidget::paintTopBar(Painter &p, float64 over, int32 decreaseWidth) { if (_a_show.animating()) { p.drawPixmap(a_coordUnder.current(), 0, _cacheTopBarUnder); p.drawPixmap(a_coordOver.current(), 0, _cacheTopBarOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), st::topBarHeight), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), st::topBarHeight), App::sprite(), st::slideShadow.rect()); return; } p.setOpacity(st::topBarBackAlpha + (1 - st::topBarBackAlpha) * over); - p.drawPixmap(QPoint(st::topBarBackPadding.left(), (st::topBarHeight - st::topBarBackImg.pxHeight()) / 2), App::sprite(), st::topBarBackImg); + p.drawSprite(QPoint(st::topBarBackPadding.left(), (st::topBarHeight - st::topBarBackImg.pxHeight()) / 2), st::topBarBackImg); p.setFont(st::topBarBackFont->f); p.setPen(st::topBarBackColor->p); p.drawText(st::topBarBackPadding.left() + st::topBarBackImg.pxWidth() + st::topBarBackPadding.right(), (st::topBarHeight - st::topBarBackFont->height) / 2 + st::topBarBackFont->ascent, _header); diff --git a/Telegram/SourceFiles/overviewwidget.h b/Telegram/SourceFiles/overviewwidget.h index 044744006..001f81df4 100644 --- a/Telegram/SourceFiles/overviewwidget.h +++ b/Telegram/SourceFiles/overviewwidget.h @@ -262,7 +262,7 @@ public: void scrollBy(int32 add); void scrollReset(); - void paintTopBar(QPainter &p, float64 over, int32 decreaseWidth); + void paintTopBar(Painter &p, float64 over, int32 decreaseWidth); void topBarClick(); PeerData *peer() const; diff --git a/Telegram/SourceFiles/passcodewidget.cpp b/Telegram/SourceFiles/passcodewidget.cpp index b8e932f0f..63e3e4810 100644 --- a/Telegram/SourceFiles/passcodewidget.cpp +++ b/Telegram/SourceFiles/passcodewidget.cpp @@ -19,12 +19,10 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "lang.h" -#include "ui/style.h" - -#include "localstorage.h" - #include "passcodewidget.h" + +#include "lang.h" +#include "localstorage.h" #include "mainwindow.h" #include "application.h" #include "ui/text/text.h" @@ -172,7 +170,7 @@ void PasscodeWidget::paintEvent(QPaintEvent *e) { bool trivial = (rect() == e->rect()); setMouseTracking(true); - QPainter p(this); + Painter p(this); if (!trivial) { p.setClipRect(e->rect()); } @@ -186,7 +184,7 @@ void PasscodeWidget::paintEvent(QPaintEvent *e) { } p.drawPixmap(a_coordOver.current(), 0, _cacheOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow.rect()); } else { p.fillRect(rect(), st::setBG->b); diff --git a/Telegram/SourceFiles/playerwidget.cpp b/Telegram/SourceFiles/playerwidget.cpp index 876ecd4a6..a8511b6d4 100644 --- a/Telegram/SourceFiles/playerwidget.cpp +++ b/Telegram/SourceFiles/playerwidget.cpp @@ -22,7 +22,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "playerwidget.h" #include "shortcuts.h" -#include "ui/style.h" #include "lang.h" #include "boxes/addcontactbox.h" #include "application.h" @@ -89,19 +88,19 @@ void PlayerWidget::paintEvent(QPaintEvent *e) { mid = width() - mid; right = width() - right; if (mid < left) { - p.drawPixmap(QRect(mid, top, left - mid, st::playerVolume.pxHeight()), App::sprite(), QRect(st::playerVolume.x() + (mid - right) * cIntRetinaFactor(), st::playerVolume.y(), (left - mid) * cIntRetinaFactor(), st::playerVolume.pxHeight() * cIntRetinaFactor())); + p.drawPixmap(QRect(mid, top, left - mid, st::playerVolume.pxHeight()), App::sprite(), QRect(st::playerVolume.rect().x() + (mid - right) * cIntRetinaFactor(), st::playerVolume.rect().y(), (left - mid) * cIntRetinaFactor(), st::playerVolume.pxHeight() * cIntRetinaFactor())); } if (right < mid) { p.setOpacity(st::playerUnavailableOpacity); - p.drawPixmap(QRect(right, top, mid - right, st::playerVolume.pxHeight()), App::sprite(), QRect(st::playerVolume.x(), st::playerVolume.y(), (mid - right) * cIntRetinaFactor(), st::playerVolume.pxHeight() * cIntRetinaFactor())); + p.drawPixmap(QRect(right, top, mid - right, st::playerVolume.pxHeight()), App::sprite(), QRect(st::playerVolume.rect().x(), st::playerVolume.rect().y(), (mid - right) * cIntRetinaFactor(), st::playerVolume.pxHeight() * cIntRetinaFactor())); } } else { if (mid > left) { - p.drawPixmap(QRect(left, top, mid - left, st::playerVolume.pxHeight()), App::sprite(), QRect(st::playerVolume.x(), st::playerVolume.y(), (mid - left) * cIntRetinaFactor(), st::playerVolume.pxHeight() * cIntRetinaFactor())); + p.drawPixmap(QRect(left, top, mid - left, st::playerVolume.pxHeight()), App::sprite(), QRect(st::playerVolume.rect().x(), st::playerVolume.rect().y(), (mid - left) * cIntRetinaFactor(), st::playerVolume.pxHeight() * cIntRetinaFactor())); } if (right > mid) { p.setOpacity(st::playerUnavailableOpacity); - p.drawPixmap(QRect(mid, top, right - mid, st::playerVolume.pxHeight()), App::sprite(), QRect(st::playerVolume.x() + (mid - left) * cIntRetinaFactor(), st::playerVolume.y(), (right - mid) * cIntRetinaFactor(), st::playerVolume.pxHeight() * cIntRetinaFactor())); + p.drawPixmap(QRect(mid, top, right - mid, st::playerVolume.pxHeight()), App::sprite(), QRect(st::playerVolume.rect().x() + (mid - left) * cIntRetinaFactor(), st::playerVolume.rect().y(), (right - mid) * cIntRetinaFactor(), st::playerVolume.pxHeight() * cIntRetinaFactor())); } } } diff --git a/Telegram/SourceFiles/profilewidget.cpp b/Telegram/SourceFiles/profilewidget.cpp index 85a264530..a5ad1cc3a 100644 --- a/Telegram/SourceFiles/profilewidget.cpp +++ b/Telegram/SourceFiles/profilewidget.cpp @@ -841,11 +841,11 @@ void ProfileInner::paintEvent(QPaintEvent *e) { _peer->paintUserpic(p, st::profilePhotoSize, _left, top); } else { if (a_photoOver.current() < 1) { - p.drawPixmap(QPoint(_left, top), App::sprite(), st::setPhotoImg); + p.drawSprite(QPoint(_left, top), st::setPhotoImg); } if (a_photoOver.current() > 0) { p.setOpacity(a_photoOver.current()); - p.drawPixmap(QPoint(_left, top), App::sprite(), st::setOverPhotoImg); + p.drawSprite(QPoint(_left, top), st::setOverPhotoImg); p.setOpacity(1); } } @@ -1927,7 +1927,7 @@ void ProfileWidget::paintEvent(QPaintEvent *e) { } p.drawPixmap(a_coordOver.current(), 0, _cacheOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow.rect()); } else { p.fillRect(e->rect(), st::white->b); } @@ -1943,17 +1943,17 @@ void ProfileWidget::keyPressEvent(QKeyEvent *e) { return _inner.keyPressEvent(e); } -void ProfileWidget::paintTopBar(QPainter &p, float64 over, int32 decreaseWidth) { +void ProfileWidget::paintTopBar(Painter &p, float64 over, int32 decreaseWidth) { if (_a_show.animating()) { p.drawPixmap(a_coordUnder.current(), 0, _cacheTopBarUnder); p.drawPixmap(a_coordOver.current(), 0, _cacheTopBarOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), st::topBarHeight), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), st::topBarHeight), App::sprite(), st::slideShadow.rect()); return; } p.setOpacity(st::topBarBackAlpha + (1 - st::topBarBackAlpha) * over); - p.drawPixmap(QPoint(st::topBarBackPadding.left(), (st::topBarHeight - st::topBarBackImg.pxHeight()) / 2), App::sprite(), st::topBarBackImg); + p.drawSprite(QPoint(st::topBarBackPadding.left(), (st::topBarHeight - st::topBarBackImg.pxHeight()) / 2), st::topBarBackImg); p.setFont(st::topBarBackFont->f); p.setPen(st::topBarBackColor->p); p.drawText(st::topBarBackPadding.left() + st::topBarBackImg.pxWidth() + st::topBarBackPadding.right(), (st::topBarHeight - st::topBarBackFont->height) / 2 + st::topBarBackFont->ascent, lang(peer()->isUser() ? lng_profile_info : ((peer()->isChat() || peer()->isMegagroup()) ? lng_profile_group_info : lng_profile_channel_info))); diff --git a/Telegram/SourceFiles/profilewidget.h b/Telegram/SourceFiles/profilewidget.h index 18948b481..a98b09707 100644 --- a/Telegram/SourceFiles/profilewidget.h +++ b/Telegram/SourceFiles/profilewidget.h @@ -242,7 +242,7 @@ public: void dropEvent(QDropEvent *e) override; void keyPressEvent(QKeyEvent *e) override; - void paintTopBar(QPainter &p, float64 over, int32 decreaseWidth); + void paintTopBar(Painter &p, float64 over, int32 decreaseWidth); void topBarClick(); PeerData *peer() const; diff --git a/Telegram/SourceFiles/pspecific_win.cpp b/Telegram/SourceFiles/pspecific_win.cpp index 6b97fab50..ef7e36367 100644 --- a/Telegram/SourceFiles/pspecific_win.cpp +++ b/Telegram/SourceFiles/pspecific_win.cpp @@ -212,13 +212,12 @@ namespace { } bool init(QColor c) { - style::rect topLeft = st::wndShadow; - _fullsize = topLeft.width(); + _fullsize = st::wndShadow.rect().width(); _shift = st::wndShadowShift; QImage cornersImage(_fullsize, _fullsize, QImage::Format_ARGB32_Premultiplied); { - QPainter p(&cornersImage); - p.drawPixmap(QPoint(0, 0), App::sprite(), topLeft); + Painter p(&cornersImage); + p.drawSprite(0, 0, st::wndShadow); } if (rtl()) cornersImage = cornersImage.mirrored(true, false); uchar *bits = cornersImage.bits(); diff --git a/Telegram/SourceFiles/settingswidget.cpp b/Telegram/SourceFiles/settingswidget.cpp index 9e14f5223..c273fc93e 100644 --- a/Telegram/SourceFiles/settingswidget.cpp +++ b/Telegram/SourceFiles/settingswidget.cpp @@ -19,11 +19,10 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" -#include "lang.h" - -#include "boxes/aboutbox.h" #include "settingswidget.h" + +#include "lang.h" +#include "boxes/aboutbox.h" #include "mainwidget.h" #include "application.h" #include "boxes/photocropbox.h" @@ -88,12 +87,12 @@ void Slider::setSelected(int32 sel) { } void Slider::paintEvent(QPaintEvent *e) { - QPainter p(this); + Painter p(this); p.fillRect(0, (height() - _st.thikness) / 2, width(), _st.thikness, _st.color->b); int32 x = qFloor(_sel * float64(width() - _st.bar.pxWidth()) / (_count - 1)), y = (height() - _st.bar.pxHeight()) / 2; - p.drawPixmap(QPoint(x, y), App::sprite(), _st.bar); + p.drawSprite(QPoint(x, y), _st.bar); } QString scaleLabel(DBIScale scale) { @@ -405,11 +404,11 @@ void SettingsInner::paintEvent(QPaintEvent *e) { self()->paintUserpicLeft(p, st::setPhotoSize, _left, top, st::setWidth); } else { if (a_photoOver.current() < 1) { - p.drawPixmap(QPoint(_left, top), App::sprite(), st::setPhotoImg); + p.drawSprite(QPoint(_left, top), st::setPhotoImg); } if (a_photoOver.current() > 0) { p.setOpacity(a_photoOver.current()); - p.drawPixmap(QPoint(_left, top), App::sprite(), st::setOverPhotoImg); + p.drawSprite(QPoint(_left, top), st::setOverPhotoImg); p.setOpacity(1); } } @@ -1917,7 +1916,7 @@ void SettingsWidget::paintEvent(QPaintEvent *e) { } p.drawPixmap(a_coordOver.current(), 0, _cacheOver); p.setOpacity(a_shadow.current()); - p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow); + p.drawPixmap(QRect(a_coordOver.current() - st::slideShadow.pxWidth(), 0, st::slideShadow.pxWidth(), height()), App::sprite(), st::slideShadow.rect()); } else { p.fillRect(rect(), st::setBG->b); } diff --git a/Telegram/SourceFiles/stdafx.h b/Telegram/SourceFiles/stdafx.h index 0683fc16f..1d9f12f90 100644 --- a/Telegram/SourceFiles/stdafx.h +++ b/Telegram/SourceFiles/stdafx.h @@ -45,6 +45,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma clang diagnostic pop #endif // __clang__ + #include #include @@ -53,7 +54,10 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "mtproto/facade.h" -#include "ui/style.h" +#include "ui/style/style_core.h" +#include "styles/style_basic_types.h" +#include "styles/style_basic.h" + #include "ui/twidget.h" #include "ui/animation.h" #include "ui/flatinput.h" diff --git a/Telegram/SourceFiles/structs.cpp b/Telegram/SourceFiles/structs.cpp index dacd819d7..6a50154f9 100644 --- a/Telegram/SourceFiles/structs.cpp +++ b/Telegram/SourceFiles/structs.cpp @@ -21,7 +21,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "stdafx.h" #include "structs.h" -#include "ui/style.h" #include "lang.h" #include "inline_bots/inline_bot_layout_item.h" #include "history.h" diff --git a/Telegram/SourceFiles/sysbuttons.cpp b/Telegram/SourceFiles/sysbuttons.cpp index fe2546b4e..0614cf322 100644 --- a/Telegram/SourceFiles/sysbuttons.cpp +++ b/Telegram/SourceFiles/sysbuttons.cpp @@ -19,12 +19,10 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" -#include "lang.h" - -#include "shortcuts.h" - #include "sysbuttons.h" + +#include "lang.h" +#include "shortcuts.h" #include "application.h" #include "autoupdater.h" @@ -64,7 +62,7 @@ void SysBtn::onStateChange(int oldState, ButtonStateChangeSource source) { } void SysBtn::paintEvent(QPaintEvent *e) { - QPainter p(this); + Painter p(this); int x = width() - ((_st.size.width() + _st.img.pxWidth()) / 2), y = (height() - _st.img.pxHeight()) / 2; QColor c = a_color.current(); @@ -78,7 +76,7 @@ void SysBtn::paintEvent(QPaintEvent *e) { } } p.fillRect(x, y, _st.img.pxWidth(), _st.img.pxHeight(), c); - p.drawPixmap(QPoint(x, y), App::sprite(), _st.img); + p.drawSprite(QPoint(x, y), _st.img); if (!_text.isEmpty()) { p.setFont(st::titleTextButton.font->f); diff --git a/Telegram/SourceFiles/title.cpp b/Telegram/SourceFiles/title.cpp index 6c599915d..5115c16d2 100644 --- a/Telegram/SourceFiles/title.cpp +++ b/Telegram/SourceFiles/title.cpp @@ -19,10 +19,9 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "lang.h" -#include "ui/style.h" - #include "title.h" + +#include "lang.h" #include "mainwidget.h" #include "mainwindow.h" #include "application.h" @@ -103,7 +102,7 @@ TitleWidget::TitleWidget(MainWindow *window) : TWidget(window) } void TitleWidget::paintEvent(QPaintEvent *e) { - QPainter p(this); + Painter p(this); p.fillRect(QRect(0, 0, width(), st::titleHeight), st::titleBG->b); if (!_cancel.isHidden()) { p.setPen(st::titleTextButton.color->p); @@ -112,7 +111,7 @@ void TitleWidget::paintEvent(QPaintEvent *e) { auto chooseText = lang(inlineSwitchChoose ? lng_inline_switch_choose : lng_forward_choose); p.drawText(st::titleMenuOffset - st::titleTextButton.width / 2, st::titleTextButton.textTop + st::titleTextButton.font->ascent, chooseText); } - p.drawPixmap(st::titleIconPos, App::sprite(), st::titleIconImg); + p.drawSprite(st::titleIconPos, st::titleIconImg); if (Adaptive::OneColumn() && !_counter.isNull() && App::main()) { p.drawPixmap(st::titleIconPos.x() + st::titleIconImg.pxWidth() - (_counter.width() / cIntRetinaFactor()), st::titleIconPos.y() + st::titleIconImg.pxHeight() - (_counter.height() / cIntRetinaFactor()), _counter); } diff --git a/Telegram/SourceFiles/ui/boxshadow.cpp b/Telegram/SourceFiles/ui/boxshadow.cpp index c2df88214..0ca3d787d 100644 --- a/Telegram/SourceFiles/ui/boxshadow.cpp +++ b/Telegram/SourceFiles/ui/boxshadow.cpp @@ -28,8 +28,8 @@ BoxShadow::BoxShadow(const style::sprite &topLeft) : _size(topLeft.pxWidth()), _ QImage cornersImage(_pixsize * 2, _pixsize * 2, QImage::Format_ARGB32_Premultiplied); cornersImage.setDevicePixelRatio(cRetinaFactor()); { - QPainter p(&cornersImage); - p.drawPixmap(QPoint(rtl() ? _size : 0, 0), App::sprite(), topLeft); + Painter p(&cornersImage); + p.drawSprite(QPoint(rtl() ? _size : 0, 0), topLeft); } if (rtl()) cornersImage = cornersImage.mirrored(true, false); uchar *bits = cornersImage.bits(); diff --git a/Telegram/SourceFiles/ui/buttons/peer_avatar_button.h b/Telegram/SourceFiles/ui/buttons/peer_avatar_button.h index 88e0b8464..114581e00 100644 --- a/Telegram/SourceFiles/ui/buttons/peer_avatar_button.h +++ b/Telegram/SourceFiles/ui/buttons/peer_avatar_button.h @@ -21,7 +21,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #pragma once #include "ui/button.h" -#include "ui/style.h" class PeerData; diff --git a/Telegram/SourceFiles/ui/countryinput.cpp b/Telegram/SourceFiles/ui/countryinput.cpp index 81a5c0cdf..33399d8d7 100644 --- a/Telegram/SourceFiles/ui/countryinput.cpp +++ b/Telegram/SourceFiles/ui/countryinput.cpp @@ -19,14 +19,12 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" -#include "lang.h" - -#include "application.h" #include "ui/countryinput.h" + +#include "lang.h" +#include "application.h" #include "ui/scrollarea.h" #include "boxes/contactsbox.h" - #include "countries.h" namespace { diff --git a/Telegram/SourceFiles/ui/countryinput.h b/Telegram/SourceFiles/ui/countryinput.h index 8aa6a536a..8e30aeef4 100644 --- a/Telegram/SourceFiles/ui/countryinput.h +++ b/Telegram/SourceFiles/ui/countryinput.h @@ -20,8 +20,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #pragma once -#include "ui/style.h" - #include "ui/flatinput.h" #include "ui/scrollarea.h" #include "ui/flatbutton.h" diff --git a/Telegram/SourceFiles/ui/flatbutton.cpp b/Telegram/SourceFiles/ui/flatbutton.cpp index 383c05d85..ccf15f39c 100644 --- a/Telegram/SourceFiles/ui/flatbutton.cpp +++ b/Telegram/SourceFiles/ui/flatbutton.cpp @@ -273,7 +273,7 @@ MaskedButton::MaskedButton(QWidget *parent, const style::iconedButton &st, const } void MaskedButton::paintEvent(QPaintEvent *e) { - QPainter p(this); + Painter p(this); p.setOpacity(_opacity); @@ -291,7 +291,7 @@ void MaskedButton::paintEvent(QPaintEvent *e) { if (i.pxWidth()) { const QPoint &t((_state & StateDown) ? _st.downIconPos : _st.iconPos); p.fillRect(QRect(t, QSize(i.pxWidth(), i.pxHeight())), a_bg.current()); - p.drawPixmap(t, App::sprite(), i); + p.drawSprite(t, i); } } @@ -301,7 +301,7 @@ EmojiButton::EmojiButton(QWidget *parent, const style::iconedButton &st) : Icone } void EmojiButton::paintEvent(QPaintEvent *e) { - QPainter p(this); + Painter p(this); uint64 ms = getms(); float64 loading = a_loading.current(ms, _loading ? 1 : 0); @@ -311,10 +311,10 @@ void EmojiButton::paintEvent(QPaintEvent *e) { p.setOpacity(a_opacity.current() * _opacity * (1 - loading)); - const QRect &i((_state & StateDown) ? _st.downIcon : _st.icon); - if (i.width()) { + const style::sprite &i((_state & StateDown) ? _st.downIcon : _st.icon); + if (!i.isEmpty()) { const QPoint &t((_state & StateDown) ? _st.downIconPos : _st.iconPos); - p.drawPixmap(t, App::sprite(), i); + p.drawSprite(t, i); } p.setOpacity(a_opacity.current() * _opacity); diff --git a/Telegram/SourceFiles/ui/flatbutton.h b/Telegram/SourceFiles/ui/flatbutton.h index e0ac3dd1b..4f6110843 100644 --- a/Telegram/SourceFiles/ui/flatbutton.h +++ b/Telegram/SourceFiles/ui/flatbutton.h @@ -23,7 +23,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "ui/button.h" #include "ui/flatcheckbox.h" #include "ui/animation.h" -#include "ui/style.h" class FlatButton : public Button { Q_OBJECT diff --git a/Telegram/SourceFiles/ui/flatcheckbox.cpp b/Telegram/SourceFiles/ui/flatcheckbox.cpp index ddeb4f55e..f4a0c7344 100644 --- a/Telegram/SourceFiles/ui/flatcheckbox.cpp +++ b/Telegram/SourceFiles/ui/flatcheckbox.cpp @@ -19,10 +19,9 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" -#include "lang.h" +#include "ui/flatcheckbox.h" -#include "flatcheckbox.h" +#include "lang.h" FlatCheckbox::FlatCheckbox(QWidget *parent, const QString &text, bool checked, const style::flatCheckbox &st) : Button(parent) , _st(st) @@ -80,7 +79,7 @@ void FlatCheckbox::onStateChange(int oldState, ButtonStateChangeSource source) { } void FlatCheckbox::paintEvent(QPaintEvent *e) { - QPainter p(this); + Painter p(this); p.setOpacity(_opacity); if (_st.bgColor != st::transparent) { @@ -100,21 +99,21 @@ void FlatCheckbox::paintEvent(QPaintEvent *e) { } if (_state & StateDisabled) { - QRect sRect(_checked ? _st.chkDisImageRect : _st.disImageRect); - p.drawPixmap(_st.imagePos, App::sprite(), sRect); + const style::sprite &sRect(_checked ? _st.chkDisImageRect : _st.disImageRect); + p.drawSprite(_st.imagePos, sRect); } else if ((_checked && _st.chkImageRect == _st.chkOverImageRect) || (!_checked && _st.imageRect == _st.overImageRect)) { p.setOpacity(_opacity); - QRect sRect(_checked ? _st.chkImageRect : _st.imageRect); - p.drawPixmap(_st.imagePos, App::sprite(), sRect); + const style::sprite &sRect(_checked ? _st.chkImageRect : _st.imageRect); + p.drawSprite(_st.imagePos, sRect); } else { if (a_over.current() < 1) { - QRect sRect(_checked ? _st.chkImageRect : _st.imageRect); - p.drawPixmap(_st.imagePos, App::sprite(), sRect); + const style::sprite &sRect(_checked ? _st.chkImageRect : _st.imageRect); + p.drawSprite(_st.imagePos, sRect); } if (a_over.current() > 0) { p.setOpacity(_opacity * a_over.current()); - QRect sRect(_checked ? _st.chkOverImageRect : _st.overImageRect); - p.drawPixmap(_st.imagePos, App::sprite(), sRect); + const style::sprite &sRect(_checked ? _st.chkOverImageRect : _st.overImageRect); + p.drawSprite(_st.imagePos, sRect); } } } diff --git a/Telegram/SourceFiles/ui/flatinput.cpp b/Telegram/SourceFiles/ui/flatinput.cpp index e175f043e..96be850d0 100644 --- a/Telegram/SourceFiles/ui/flatinput.cpp +++ b/Telegram/SourceFiles/ui/flatinput.cpp @@ -19,12 +19,10 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" +#include "ui/flatinput.h" -#include "flatinput.h" #include "mainwindow.h" #include "countryinput.h" - #include "lang.h" #include "numbers.h" @@ -164,7 +162,7 @@ void FlatInput::paintEvent(QPaintEvent *e) { p.fillRect(0, _st.borderWidth, _st.borderWidth, height() - _st.borderWidth, b); } if (_st.imgRect.pxWidth()) { - p.drawPixmap(_st.imgPos, App::sprite(), _st.imgRect); + p.drawSprite(_st.imgPos, _st.imgRect); } bool phDraw = _phVisible; diff --git a/Telegram/SourceFiles/ui/flatinput.h b/Telegram/SourceFiles/ui/flatinput.h index 0de17a883..3b70cd6f9 100644 --- a/Telegram/SourceFiles/ui/flatinput.h +++ b/Telegram/SourceFiles/ui/flatinput.h @@ -20,7 +20,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #pragma once -#include "ui/style.h" #include "animation.h" class FlatInput : public QLineEdit { diff --git a/Telegram/SourceFiles/ui/flatlabel.h b/Telegram/SourceFiles/ui/flatlabel.h index b09afdff7..a881bd2ac 100644 --- a/Telegram/SourceFiles/ui/flatlabel.h +++ b/Telegram/SourceFiles/ui/flatlabel.h @@ -20,8 +20,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #pragma once -#include "ui/style.h" - class FlatLabel : public TWidget, public ClickHandlerHost { Q_OBJECT diff --git a/Telegram/SourceFiles/ui/flattextarea.cpp b/Telegram/SourceFiles/ui/flattextarea.cpp index 9ef9551ff..182258438 100644 --- a/Telegram/SourceFiles/ui/flattextarea.cpp +++ b/Telegram/SourceFiles/ui/flattextarea.cpp @@ -21,7 +21,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #include "stdafx.h" #include "flattextarea.h" -#include "ui/style.h" #include "mainwindow.h" FlatTextarea::FlatTextarea(QWidget *parent, const style::flatTextarea &st, const QString &pholder, const QString &v) : QTextEdit(parent) diff --git a/Telegram/SourceFiles/ui/flattextarea.h b/Telegram/SourceFiles/ui/flattextarea.h index 8c9235eea..701bedfba 100644 --- a/Telegram/SourceFiles/ui/flattextarea.h +++ b/Telegram/SourceFiles/ui/flattextarea.h @@ -20,8 +20,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #pragma once -#include -#include "ui/style.h" #include "animation.h" class UserData; diff --git a/Telegram/SourceFiles/ui/images.cpp b/Telegram/SourceFiles/ui/images.cpp index 32500cd0d..3d7d1c14b 100644 --- a/Telegram/SourceFiles/ui/images.cpp +++ b/Telegram/SourceFiles/ui/images.cpp @@ -407,11 +407,11 @@ const QPixmap &circleMask(int width, int height) { auto i = masks.constFind(key); if (i == masks.cend()) { QImage mask(width, height, QImage::Format_ARGB32_Premultiplied); - mask.fill(st::transparent); { Painter p(&mask); p.setRenderHint(QPainter::HighQualityAntialiasing); - p.setCompositionMode(QPainter::CompositionMode_SourceOver); + p.setCompositionMode(QPainter::CompositionMode_Source); + p.fillRect(0, 0, width, height, st::transparent); p.setBrush(st::white); p.setPen(Qt::NoPen); p.drawEllipse(0, 0, width, height); diff --git a/Telegram/SourceFiles/ui/scrollarea.cpp b/Telegram/SourceFiles/ui/scrollarea.cpp index 2dfec597e..aa0508a63 100644 --- a/Telegram/SourceFiles/ui/scrollarea.cpp +++ b/Telegram/SourceFiles/ui/scrollarea.cpp @@ -19,8 +19,6 @@ Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #include "stdafx.h" -#include "ui/style.h" - #include "ui/scrollarea.h" // flick scroll taken from http://qt-project.org/doc/qt-4.8/demos-embedded-anomaly-src-flickcharm-cpp.html diff --git a/Telegram/SourceFiles/ui/scrollarea.h b/Telegram/SourceFiles/ui/scrollarea.h index afc18e8a3..6004df418 100644 --- a/Telegram/SourceFiles/ui/scrollarea.h +++ b/Telegram/SourceFiles/ui/scrollarea.h @@ -20,9 +20,6 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #pragma once -#include -#include "ui/style.h" - enum TouchScrollState { TouchScrollManual, // Scrolling manually with the finger on the screen TouchScrollAuto, // Scrolling automatically diff --git a/Telegram/SourceFiles/ui/style.h b/Telegram/SourceFiles/ui/style.h deleted file mode 100644 index a2f01bbc1..000000000 --- a/Telegram/SourceFiles/ui/style.h +++ /dev/null @@ -1,25 +0,0 @@ -/* -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/style_core.h" -#include "styles/style_basic_types.h" -#include "styles/style_basic.h" diff --git a/Telegram/SourceFiles/ui/style/style_core.cpp b/Telegram/SourceFiles/ui/style/style_core.cpp new file mode 100644 index 000000000..c0c16b9a4 --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core.cpp @@ -0,0 +1,103 @@ +/* +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" + +namespace style { +namespace internal { +namespace { + +using ModulesList = QList; +NeverFreedPointer styleModules; + +void startModules() { + if (!styleModules) return; + + for_const (auto module, *styleModules) { + module->start(); + } +} + +void stopModules() { + if (!styleModules) return; + + for_const (auto module, *styleModules) { + module->stop(); + } +} + +} // namespace + +void registerModule(ModuleBase *module) { + styleModules.makeIfNull(); + styleModules->push_back(module); +} + +void unregisterModule(ModuleBase *module) { + styleModules->removeOne(module); + if (styleModules->isEmpty()) { + styleModules.clear(); + } +} + +} // namespace internal + +void startManager() { + if (cRetina()) { + cSetRealScale(dbisOne); + } + + internal::registerFontFamily(qsl("Open Sans")); + internal::loadSprite(); + internal::startModules(); +} + +void stopManager() { + internal::stopModules(); + internal::destroyFonts(); + internal::destroyColors(); +} + +QImage colorizeImage(const QImage &src, const color &c, const QRect &r) { + t_assert(r.x() >= 0 && src.width() >= r.x() + r.width()); + t_assert(r.y() >= 0 && src.height() >= r.y() + r.height()); + + int a = c->c.alpha() + 1; + int fg_r = c->c.red() * a, fg_g = c->c.green() * a, fg_b = c->c.blue() * a, fg_a = 255 * a; + + QImage result(r.width(), r.height(), QImage::Format_ARGB32_Premultiplied); + auto bits = result.bits(); + auto maskbits = src.constBits(); + int bpp = result.depth(), maskbpp = src.depth(); + int bpl = result.bytesPerLine(), maskbpl = src.bytesPerLine(); + for (int x = 0, xoffset = r.x(); x < r.width(); ++x) { + for (int y = 0, yoffset = r.y(); y < r.height(); ++y) { + int s = y * bpl + ((x * bpp) >> 3); + int o = maskbits[(y + yoffset) * maskbpl + (((x + xoffset) * maskbpp) >> 3)] + 1; + bits[s + 0] = (fg_b * o) >> 16; + bits[s + 1] = (fg_g * o) >> 16; + bits[s + 2] = (fg_r * o) >> 16; + bits[s + 3] = (fg_a * o) >> 16; + } + } + return result; +} + +} // namespace style diff --git a/Telegram/SourceFiles/ui/style/style_core.h b/Telegram/SourceFiles/ui/style/style_core.h new file mode 100644 index 000000000..b9901418e --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core.h @@ -0,0 +1,66 @@ +/* +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/style/style_core_types.h" + +inline QPoint rtlpoint(int x, int y, int outerw) { + return QPoint(rtl() ? (outerw - x) : x, y); +} +inline QPoint rtlpoint(const QPoint &p, int outerw) { + return rtl() ? QPoint(outerw - p.x(), p.y()) : p; +} +inline QRect rtlrect(int x, int y, int w, int h, int outerw) { + return QRect(rtl() ? (outerw - x - w) : x, y, w, h); +} +inline QRect rtlrect(const QRect &r, int outerw) { + return rtl() ? QRect(outerw - r.x() - r.width(), r.y(), r.width(), r.height()) : r; +} +inline QRect centerrect(const QRect &inRect, const QRect &rect) { + return QRect(inRect.x() + (inRect.width() - rect.width()) / 2, inRect.y() + (inRect.height() - rect.height()) / 2, rect.width(), rect.height()); +} + +namespace style { +namespace internal { + +// Objects of derived classes are created in global scope. +// They call [un]registerModule() in [de|con]structor. +class ModuleBase { +public: + virtual void start() = 0; + virtual void stop() = 0; +}; + +void registerModule(ModuleBase *module); +void unregisterModule(ModuleBase *module); + +} // namespace internal + +void startManager(); +void stopManager(); + +QImage colorizeImage(const QImage &src, const color &c, const QRect &r); + +} // namespace style + +inline QRect centersprite(const QRect &inRect, const style::sprite &sprite) { + return centerrect(inRect, QRect(QPoint(0, 0), sprite.pxSize())); +} diff --git a/Telegram/SourceFiles/ui/style/style_core_color.cpp b/Telegram/SourceFiles/ui/style/style_core_color.cpp new file mode 100644 index 000000000..ef57a8de5 --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core_color.cpp @@ -0,0 +1,91 @@ +/* +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 "ui/style/style_core_color.h" + +namespace style { +namespace internal { +namespace { + +typedef QMap ColorDatas; +ColorDatas colorsMap; + +uint32 colorKey(uchar r, uchar g, uchar b, uchar a) { + return (((((uint32(r) << 8) | uint32(g)) << 8) | uint32(b)) << 8) | uint32(a); +} + +} // namespace + +void destroyColors() { + for (auto colorData : colorsMap) { + delete colorData; + } + colorsMap.clear(); +} + +Color::Color(const Color &c) : ptr(c.owner ? new ColorData(*c.ptr) : c.ptr), owner(c.owner) { +} + +Color::Color(const QColor &c) : owner(false) { + init(c.red(), c.green(), c.blue(), c.alpha()); +} + +Color::Color(uchar r, uchar g, uchar b, uchar a) : owner(false) { + init(r, g, b, a); +} + +Color &Color::operator=(const Color &c) { + if (this != &c) { + if (owner) { + delete ptr; + } + ptr = c.owner ? new ColorData(*c.ptr) : c.ptr; + owner = c.owner; + } + return *this; +} + +void Color::init(uchar r, uchar g, uchar b, uchar a) { + uint32 key = colorKey(r, g, b, a); + auto i = colorsMap.constFind(key); + if (i == colorsMap.cend()) { + i = colorsMap.insert(key, new ColorData(r, g, b, a)); + } + ptr = i.value(); +} + +Color::~Color() { + if (owner) { + delete ptr; + } +} + +ColorData::ColorData(uchar r, uchar g, uchar b, uchar a) : c(int(r), int(g), int(b), int(a)), p(c), b(c) { +} + +void ColorData::set(const QColor &color) { + c = color; + p = QPen(color); + b = QBrush(color); +} + +} // namespace internal +} // namespace style diff --git a/Telegram/SourceFiles/ui/style/style_core_color.h b/Telegram/SourceFiles/ui/style/style_core_color.h new file mode 100644 index 000000000..8e3c88284 --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core_color.h @@ -0,0 +1,111 @@ +/* +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 + +namespace style { +namespace internal { + +void destroyColors(); + +class ColorData; +class Color { +public: + Color(Qt::Initialization = Qt::Uninitialized) { + } + Color(const Color &c); + explicit Color(const QColor &c); + Color(uchar r, uchar g, uchar b, uchar a = 255); + Color &operator=(const Color &c); + ~Color(); + + void set(const QColor &newv); + void set(uchar r, uchar g, uchar b, uchar a = 255); + + operator const QBrush &() const; + operator const QPen &() const; + + ColorData *operator->() const { + return ptr; + } + ColorData *v() const { + return ptr; + } + + explicit operator bool() const { + return !!ptr; + } + +private: + ColorData *ptr = nullptr; + bool owner = false; + + void init(uchar r, uchar g, uchar b, uchar a); + + friend void startManager(); + + Color(ColorData *p) : ptr(p) { + } + friend class ColorData; + +}; + +class ColorData { +public: + + QColor c; + QPen p; + QBrush b; + +private: + + ColorData(uchar r, uchar g, uchar b, uchar a); + void set(const QColor &c); + + friend class Color; + +}; + +inline bool operator==(const Color &a, const Color &b) { + return a->c == b->c; +} + +inline bool operator!=(const Color &a, const Color &b) { + return a->c != b->c; +} + +inline Color::operator const QBrush &() const { + return ptr->b; +} +inline Color::operator const QPen &() const { + return ptr->p; +} + +} // namespace internal + +inline QColor interpolate(const style::internal::Color &a, const style::internal::Color &b, float64 opacity_b) { + QColor result; + result.setRedF((a->c.redF() * (1. - opacity_b)) + (b->c.redF() * opacity_b)); + result.setGreenF((a->c.greenF() * (1. - opacity_b)) + (b->c.greenF() * opacity_b)); + result.setBlueF((a->c.blueF() * (1. - opacity_b)) + (b->c.blueF() * opacity_b)); + return result; +} + +} // namespace style diff --git a/Telegram/SourceFiles/ui/style/style_core_font.cpp b/Telegram/SourceFiles/ui/style/style_core_font.cpp new file mode 100644 index 000000000..d72861d23 --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core_font.cpp @@ -0,0 +1,147 @@ +/* +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 "ui/style/style_core_font.h" + +namespace style { +namespace internal { +namespace { + +typedef QMap FontFamilyMap; +FontFamilyMap fontFamilyMap; + +typedef QVector FontFamilies; +FontFamilies fontFamilies; + +typedef QMap FontDatas; +FontDatas fontsMap; + +uint32 fontKey(int size, uint32 flags, int family) { + return (((uint32(family) << 10) | uint32(size)) << 3) | flags; +} + +} // namespace + +void destroyFonts() { + for (auto fontData : fontsMap) { + delete fontData; + } + fontsMap.clear(); +} + +int registerFontFamily(const QString &family) { + auto result = fontFamilyMap.value(family, -1); + if (result < 0) { + result = fontFamilies.size(); + fontFamilyMap.insert(family, result); + fontFamilies.push_back(family); + } + return result; +} + +FontData::FontData(int size, uint32 flags, int family, Font *other) : f(fontFamilies[family]), m(f), _size(size), _flags(flags), _family(family) { + if (other) { + memcpy(modified, other, sizeof(modified)); + } else { + memset(modified, 0, sizeof(modified)); + } + modified[_flags] = Font(this); + + f.setPixelSize(size); + f.setBold(_flags & FontBold); + f.setItalic(_flags & FontItalic); + f.setUnderline(_flags & FontUnderline); + f.setStyleStrategy(QFont::PreferQuality); + + m = QFontMetrics(f); + height = m.height(); + ascent = m.ascent(); + descent = m.descent(); + spacew = width(QLatin1Char(' ')); + elidew = width(QLatin1Char('.')) * 3; +} + +Font FontData::bold(bool set) const { + return otherFlagsFont(FontBold, set); +} + +Font FontData::italic(bool set) const { + return otherFlagsFont(FontItalic, set); +} + +Font FontData::underline(bool set) const { + return otherFlagsFont(FontUnderline, set); +} + +int FontData::size() const { + return _size; +} + +uint32 FontData::flags() const { + return _flags; +} + +int FontData::family() const { + return _family; +} + +Font FontData::otherFlagsFont(uint32 flag, bool set) const { + int32 newFlags = set ? (_flags | flag) : (_flags & ~flag); + if (!modified[newFlags].v()) { + modified[newFlags] = Font(_size, newFlags, _family, modified); + } + return modified[newFlags]; +} + +Font::Font(int size, uint32 flags, const QString &family) { + if (fontFamilyMap.isEmpty()) { + for (uint32 i = 0, s = fontFamilies.size(); i != s; ++i) { + fontFamilyMap.insert(fontFamilies.at(i), i); + } + } + + auto i = fontFamilyMap.constFind(family); + if (i == fontFamilyMap.cend()) { + fontFamilies.push_back(family); + i = fontFamilyMap.insert(family, fontFamilies.size() - 1); + } + init(size, flags, i.value(), 0); +} + +Font::Font(int size, uint32 flags, int family) { + init(size, flags, family, 0); +} + +Font::Font(int size, uint32 flags, int family, Font *modified) { + init(size, flags, family, modified); +} + +void Font::init(int size, uint32 flags, int family, Font *modified) { + uint32 key = fontKey(size, flags, family); + auto i = fontsMap.constFind(key); + if (i == fontsMap.cend()) { + i = fontsMap.insert(key, new FontData(size, flags, family, modified)); + } + ptr = i.value(); +} + +} // namespace internal +} // namespace style diff --git a/Telegram/SourceFiles/ui/style/style_core_font.h b/Telegram/SourceFiles/ui/style/style_core_font.h new file mode 100644 index 000000000..64ba729db --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core_font.h @@ -0,0 +1,129 @@ +/* +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 + +namespace style { +namespace internal { + +void destroyFonts(); +int registerFontFamily(const QString &family); + +class FontData; +class Font { +public: + Font(Qt::Initialization = Qt::Uninitialized) : ptr(0) { + } + Font(int size, uint32 flags, const QString &family); + Font(int size, uint32 flags, int family); + + Font &operator=(const Font &other) { + ptr = other.ptr; + return (*this); + } + + FontData *operator->() const { + return ptr; + } + FontData *v() const { + return ptr; + } + + operator bool() const { + return !!ptr; + } + + operator const QFont &() const; + +private: + FontData *ptr; + + void init(int size, uint32 flags, int family, Font *modified); + friend void startManager(); + + Font(FontData *p) : ptr(p) { + } + Font(int size, uint32 flags, int family, Font *modified); + friend class FontData; + +}; + +enum FontFlags { + FontBold = 0x01, + FontItalic = 0x02, + FontUnderline = 0x04, + + FontDifferentFlags = 0x08, +}; + +class FontData { +public: + + int32 width(const QString &str) const { + return m.width(str); + } + int32 width(const QString &str, int32 from, int32 to) const { + return width(str.mid(from, to)); + } + int32 width(QChar ch) const { + return m.width(ch); + } + QString elided(const QString &str, int32 width, Qt::TextElideMode mode = Qt::ElideRight) const { + return m.elidedText(str, mode, width); + } + + Font bold(bool set = true) const; + Font italic(bool set = true) const; + Font underline(bool set = true) const; + + int size() const; + uint32 flags() const; + int family() const; + + QFont f; + QFontMetrics m; + int32 height, ascent, descent, spacew, elidew; + +private: + mutable Font modified[FontDifferentFlags]; + + Font otherFlagsFont(uint32 flag, bool set) const; + FontData(int size, uint32 flags, int family, Font *other); + + friend class Font; + int _size; + uint32 _flags; + int _family; + +}; + +inline bool operator==(const Font &a, const Font &b) { + return a.v() == b.v(); +} +inline bool operator!=(const Font &a, const Font &b) { + return a.v() != b.v(); +} + +inline Font::operator const QFont &() const { + return ptr->f; +} + +} // namespace internal +} // namespace style diff --git a/Telegram/SourceFiles/ui/style/style_core_icon.cpp b/Telegram/SourceFiles/ui/style/style_core_icon.cpp new file mode 100644 index 000000000..203ef8bfc --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core_icon.cpp @@ -0,0 +1,195 @@ +/* +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 "ui/style/style_core_icon.h" + +namespace style { +namespace internal { +namespace { + +uint32 colorKey(const QColor &c) { + return (((((uint32(c.red()) << 8) | uint32(c.green())) << 8) | uint32(c.blue())) << 8) | uint32(c.alpha()); +} + +using IconPixmaps = QMap, QPixmap>; +NeverFreedPointer iconPixmaps; + +int pxAdjust(int value, int scale) { + return qRound((value * scale) / 4. - 0.01); +} + +QPixmap createIconPixmap(const IconMask *mask, const Color &color) { + QImage maskImage, finalImage; + bool loaded = maskImage.loadFromData(mask->data(), mask->size(), "PNG"); + t_assert(loaded != false); + + // images are layouted like this: + // 200x 100x + // 150x 125x + int width = maskImage.width() / 3; + int height = qRound((maskImage.height() * 2) / 7.); + QRect r = QRect(0, 0, width * 2, height * 2); + if (!cRetina() && cScale() != dbisTwo) { + if (cScale() == dbisOne) { + r = QRect(width * 2, 0, width, height); + } else { + int width125 = pxAdjust(width, 5); + int height125 = pxAdjust(height, 5); + int width150 = pxAdjust(width, 6); + int height150 = pxAdjust(height, 6); + if (cScale() == dbisOneAndQuarter) { + r = QRect(width150, height * 2, width125, height125); + } else { + r = QRect(0, height * 2, width150, height150); + } + } + } + finalImage = colorizeImage(maskImage, color, r); + finalImage.setDevicePixelRatio(cRetinaFactor()); + return QPixmap::fromImage(finalImage, Qt::ColorOnly); +} + +} // namespace + +MonoIcon::MonoIcon(const IconMask *mask, const Color &color, QPoint offset) +: _mask(mask) +, _color(color) +, _offset(offset) { +} + +int MonoIcon::width() const { + ensureLoaded(); + return _size.width(); +} + +int MonoIcon::height() const { + ensureLoaded(); + return _size.height(); +} + +QPoint MonoIcon::offset() const { + return _offset; +} + +void MonoIcon::paint(QPainter &p, const QPoint &pos, int outerw) const { + int w = width(), h = height(); + QPoint fullOffset = pos + offset(); + int partPosX = rtl() ? (outerw - fullOffset.x() - w) : fullOffset.x(); + int partPosY = fullOffset.y(); + + ensureLoaded(); + if (_pixmap.isNull()) { + p.fillRect(partPosX, partPosY, w, h, _color); + } else { + p.drawPixmap(partPosX, partPosY, _pixmap); + } +} + +void MonoIcon::ensureLoaded() const { + if (_size.isValid()) { + return; + } + const uchar *data = _mask->data(); + int size = _mask->size(); + + auto generateTag = qstr("GENERATE:"); + if (size > generateTag.size() && !memcmp(data, generateTag.data(), generateTag.size())) { + size -= generateTag.size(); + data += generateTag.size(); + auto sizeTag = qstr("SIZE:"); + if (size > sizeTag.size() && !memcmp(data, sizeTag.data(), sizeTag.size())) { + size -= sizeTag.size(); + data += sizeTag.size(); + QByteArray baForStream(reinterpret_cast(data), size); + QBuffer buffer(&baForStream); + buffer.open(QIODevice::ReadOnly); + + QDataStream stream(&buffer); + stream.setVersion(QDataStream::Qt_5_1); + + qint32 width = 0, height = 0; + stream >> width >> height; + t_assert(stream.status() == QDataStream::Ok); + + switch (cScale()) { + case dbisOne: _size = QSize(width, height); break; + case dbisOneAndQuarter: _size = QSize(pxAdjust(width, 5), pxAdjust(height, 5)); break; + case dbisOneAndHalf: _size = QSize(pxAdjust(width, 6), pxAdjust(height, 6)); break; + case dbisTwo: _size = QSize(width * 2, height * 2); break; + } + } else { + t_assert(!"Bad data in generated icon!"); + } + } else { + if (_owningPixmap) { + _pixmap = createIconPixmap(_mask, _color); + } else { + iconPixmaps.makeIfNull(); + auto key = qMakePair(_mask, colorKey(_color->c)); + auto i = iconPixmaps->constFind(key); + if (i == iconPixmaps->cend()) { + i = iconPixmaps->insert(key, createIconPixmap(_mask, _color)); + } + _pixmap = i.value(); + } + _size = _pixmap.size() / cIntRetinaFactor(); + } +} + +MonoIcon::MonoIcon(const IconMask *mask, const Color &color, QPoint offset, OwningPixmapTag) +: _mask(mask) +, _color(color) +, _offset(offset) +, _owningPixmap(true) { +} + +void Icon::paint(QPainter &p, const QPoint &pos, int outerw) const { + for_const (const auto &part, _parts) { + part.paint(p, pos, outerw); + } +} + +int Icon::width() const { + if (_width < 0) { + _width = 0; + for_const (const auto &part, _parts) { + accumulate_max(_width, part.offset().x() + part.width()); + } + } + return _width; +} + +int Icon::height() const { + if (_height < 0) { + _height = 0; + for_const (const auto &part, _parts) { + accumulate_max(_height, part.offset().x() + part.height()); + } + } + return _height; +} + +void destroyIcons() { + iconPixmaps.clear(); +} + +} // namespace internal +} // namespace style diff --git a/Telegram/SourceFiles/ui/style/style_core_icon.h b/Telegram/SourceFiles/ui/style/style_core_icon.h new file mode 100644 index 000000000..7c424026f --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core_icon.h @@ -0,0 +1,132 @@ +/* +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/style/style_core_color.h" + +namespace style { +namespace internal { + +class IconMask { +public: + template + IconMask(const uchar (&data)[N]) : _data(data), _size(N) { + static_assert(N > 0, "invalid image data"); + } + + const uchar *data() const { + return _data; + } + int size() const { + return _size; + } + +private: + const uchar *_data; + const int _size; + +}; + +class MonoIcon { +public: + MonoIcon() = default; + MonoIcon(const IconMask *mask, const Color &color, QPoint offset); + + int width() const; + int height() const; + + QPoint offset() const; + void paint(QPainter &p, const QPoint &pos, int outerw) const; + + MonoIcon clone(const Color &color) const { + return MonoIcon(_mask, color ? color : _color, _offset, OwningPixmapTag()); + } + + ~MonoIcon() { + } + +private: + struct OwningPixmapTag { + }; + MonoIcon(const IconMask *mask, const Color &color, QPoint offset, OwningPixmapTag); + void ensureLoaded() const; + + const IconMask *_mask = nullptr; + Color _color; + QPoint _offset = { 0, 0 }; + mutable QPixmap _pixmap; // for pixmaps + mutable QSize _size; // for rects + bool _owningPixmap = false; + +}; + +class Icon { + struct ColoredCopy; + +public: + Icon(Qt::Initialization) { + } + Icon(const ColoredCopy &makeCopy) { + _parts.reserve(makeCopy.copyFrom._parts.size()); + auto colorIt = makeCopy.colors.cbegin(), colorsEnd = makeCopy.colors.cend(); + for_const (const auto &part, makeCopy.copyFrom._parts) { + const auto &newPart = part.clone((colorIt == colorsEnd) ? Color(Qt::Uninitialized) : *(colorIt++)); + _parts.push_back(newPart); + } + } + + template + Icon(const MonoIcons&... icons) { + _parts.reserve(sizeof...(MonoIcons)); + addIcons(icons...); + } + + std_::unique_ptr clone(const QVector &colors) { + return std_::make_unique(ColoredCopy { *this, colors }); + } + + void paint(QPainter &p, const QPoint &pos, int outerw) const; + int width() const; + int height() const; + +private: + struct ColoredCopy { + const Icon ©From; + const QVector &colors; + }; + + template + void addIcons() { + } + template + void addIcons(const MonoIcon &icon, const MonoIcons&... icons) { + _parts.push_back(icon); + addIcons(icons...); + } + + QVector _parts; + mutable int _width = -1; + mutable int _height = -1; + +}; + +} // namespace internal +} // namespace style diff --git a/Telegram/SourceFiles/ui/style/style_core_types.cpp b/Telegram/SourceFiles/ui/style/style_core_types.cpp new file mode 100644 index 000000000..774de9ee2 --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core_types.cpp @@ -0,0 +1,62 @@ +/* +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 "ui/style/style_core_types.h" + +namespace style { +namespace internal { +namespace { + +int spriteWidthValue = 0; +QPixmap *spriteData = nullptr; + +} // namespace + +void loadSprite() { + QString spriteFilePostfix; + if (cRetina() || cScale() == dbisTwo) { + spriteFilePostfix = qsl("_200x"); + } else if (cScale() == dbisOneAndQuarter) { + spriteFilePostfix = qsl("_125x"); + } else if (cScale() == dbisOneAndHalf) { + spriteFilePostfix = qsl("_150x"); + } + QString spriteFile = qsl(":/gui/art/sprite") + spriteFilePostfix + qsl(".png"); + if (rtl()) { + spriteData = new QPixmap(QPixmap::fromImage(QImage(spriteFile).mirrored(true, false))); + } else { + spriteData = new QPixmap(spriteFile); + } + if (cRetina()) spriteData->setDevicePixelRatio(cRetinaFactor()); + spriteWidthValue = spriteData->width(); +} + +int spriteWidth() { + return spriteWidthValue; +} + +} // namespace internal + +const QPixmap &spritePixmap() { + return *internal::spriteData; +} + +} // namespace style diff --git a/Telegram/SourceFiles/ui/style/style_core_types.h b/Telegram/SourceFiles/ui/style/style_core_types.h new file mode 100644 index 000000000..2ad49014f --- /dev/null +++ b/Telegram/SourceFiles/ui/style/style_core_types.h @@ -0,0 +1,111 @@ +/* +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 +#include +#include +#include +#include +#include + +#include "ui/animation.h" +#include "ui/style/style_core_font.h" +#include "ui/style/style_core_color.h" +#include "ui/style/style_core_icon.h" + +namespace style { +namespace internal { + +void loadSprite(); +int spriteWidth(); + +class Sprite { +public: + Sprite() { + } + Sprite(int left, int top, int width, int height) : _rect(rtl() ? (spriteWidth() - left - width) : left, top, width, height) { + } + int pxWidth() const { + return _rect.width() / cIntRetinaFactor(); + } + int pxHeight() const { + return _rect.height() / cIntRetinaFactor(); + } + QSize pxSize() const { + return _rect.size() / cIntRetinaFactor(); + } + QRect rect() const { + return _rect; + } + bool isEmpty() const { + return _rect.isEmpty(); + } + +private: + QRect _rect; + +}; +inline bool operator==(const Sprite &a, const Sprite &b) { + return a.rect() == b.rect(); +} +inline bool operator!=(const Sprite &a, const Sprite &b) { + return !(a == b); +} + +} // namespace internal + +using string = QString; +using rect = QRect; +using point = QPoint; +using size = QSize; +using transition = anim::transition; +using cursor = Qt::CursorShape; +using align = Qt::Alignment; +using margins = QMargins; +using font = internal::Font; +using color = internal::Color; +using sprite = internal::Sprite; +using icon = internal::Icon; + +static constexpr cursor cur_default = Qt::ArrowCursor; +static constexpr cursor cur_pointer = Qt::PointingHandCursor; +static constexpr cursor cur_text = Qt::IBeamCursor; +static constexpr cursor cur_cross = Qt::CrossCursor; +static constexpr cursor cur_sizever = Qt::SizeVerCursor; +static constexpr cursor cur_sizehor = Qt::SizeHorCursor; +static constexpr cursor cur_sizebdiag = Qt::SizeBDiagCursor; +static constexpr cursor cur_sizefdiag = Qt::SizeFDiagCursor; +static constexpr cursor cur_sizeall = Qt::SizeAllCursor; + +static const align al_topleft = (Qt::AlignTop | Qt::AlignLeft); +static const align al_top = (Qt::AlignTop | Qt::AlignHCenter); +static const align al_topright = (Qt::AlignTop | Qt::AlignRight); +static const align al_right = (Qt::AlignVCenter | Qt::AlignRight); +static const align al_bottomright = (Qt::AlignBottom | Qt::AlignRight); +static const align al_bottom = (Qt::AlignBottom | Qt::AlignHCenter); +static const align al_bottomleft = (Qt::AlignBottom | Qt::AlignLeft); +static const align al_left = (Qt::AlignVCenter | Qt::AlignLeft); +static const align al_center = (Qt::AlignVCenter | Qt::AlignHCenter); + +const QPixmap &spritePixmap(); + +} // namespace style diff --git a/Telegram/SourceFiles/ui/style_core.cpp b/Telegram/SourceFiles/ui/style_core.cpp deleted file mode 100644 index e6ad6cbab..000000000 --- a/Telegram/SourceFiles/ui/style_core.cpp +++ /dev/null @@ -1,269 +0,0 @@ -/* -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" - -namespace style { -namespace { -using ModulesList = QList; -NeverFreedPointer styleModules; - -typedef QMap FontFamilyMap; -FontFamilyMap fontFamilyMap; - -typedef QVector FontFamilies; -FontFamilies _fontFamilies; - -typedef QMap FontDatas; -FontDatas fontsMap; - -typedef QMap ColorDatas; -ColorDatas colorsMap; - -int spriteWidthValue = 0; -QPixmap *spriteData = nullptr; - -inline uint32 fontKey(int size, uint32 flags, int family) { - return (((uint32(family) << 10) | uint32(size)) << 3) | flags; -} - -} // namespace - -namespace internal { - -void registerModule(ModuleBase *module) { - styleModules.makeIfNull(); - styleModules->push_back(module); -} - -void unregisterModule(ModuleBase *module) { - styleModules->removeOne(module); - if (styleModules->isEmpty()) { - styleModules.clear(); - } -} - -int registerFontFamily(const QString &family) { - auto result = fontFamilyMap.value(family, -1); - if (result < 0) { - result = _fontFamilies.size(); - fontFamilyMap.insert(family, result); - _fontFamilies.push_back(family); - } - return result; -} - -int spriteWidth() { - return spriteWidthValue; -} - -} // namespace internal - - FontData::FontData(int size, uint32 flags, int family, Font *other) : f(_fontFamilies[family]), m(f), _size(size), _flags(flags), _family(family) { - if (other) { - memcpy(modified, other, sizeof(modified)); - } else { - memset(modified, 0, sizeof(modified)); - } - modified[_flags] = Font(this); - - f.setPixelSize(size); - f.setBold(_flags & FontBold); - f.setItalic(_flags & FontItalic); - f.setUnderline(_flags & FontUnderline); - f.setStyleStrategy(QFont::PreferQuality); - - m = QFontMetrics(f); - height = m.height(); - ascent = m.ascent(); - descent = m.descent(); - spacew = width(QLatin1Char(' ')); - elidew = width(QLatin1Char('.')) * 3; - } - - Font FontData::bold(bool set) const { - return otherFlagsFont(FontBold, set); - } - - Font FontData::italic(bool set) const { - return otherFlagsFont(FontItalic, set); - } - - Font FontData::underline(bool set) const { - return otherFlagsFont(FontUnderline, set); - } - - int FontData::size() const { - return _size; - } - - uint32 FontData::flags() const { - return _flags; - } - - int FontData::family() const { - return _family; - } - - Font FontData::otherFlagsFont(uint32 flag, bool set) const { - int32 newFlags = set ? (_flags | flag) : (_flags & ~flag); - if (!modified[newFlags].v()) { - modified[newFlags] = Font(_size, newFlags, _family, modified); - } - return modified[newFlags]; - } - - Font::Font(int size, uint32 flags, const QString &family) { - if (fontFamilyMap.isEmpty()) { - for (uint32 i = 0, s = style::_fontFamilies.size(); i != s; ++i) { - fontFamilyMap.insert(style::_fontFamilies.at(i), i); - } - } - - auto i = fontFamilyMap.constFind(family); - if (i == fontFamilyMap.cend()) { - style::_fontFamilies.push_back(family); - i = fontFamilyMap.insert(family, style::_fontFamilies.size() - 1); - } - init(size, flags, i.value(), 0); - } - - Font::Font(int size, uint32 flags, int family) { - init(size, flags, family, 0); - } - - Font::Font(int size, uint32 flags, int family, Font *modified) { - init(size, flags, family, modified); - } - - void Font::init(int size, uint32 flags, int family, Font *modified) { - uint32 key = fontKey(size, flags, family); - auto i = fontsMap.constFind(key); - if (i == fontsMap.cend()) { - i = fontsMap.insert(key, new FontData(size, flags, family, modified)); - } - ptr = i.value(); - } - - Color::Color(const Color &c) : ptr(c.owner ? new ColorData(*c.ptr) : c.ptr), owner(c.owner) { - } - - Color::Color(const QColor &c) : owner(false) { - init(c.red(), c.green(), c.blue(), c.alpha()); - } - - Color::Color(uchar r, uchar g, uchar b, uchar a) : owner(false) { - init(r, g, b, a); - } - - Color &Color::operator=(const Color &c) { - if (this != &c) { - if (owner) { - delete ptr; - } - ptr = c.owner ? new ColorData(*c.ptr) : c.ptr; - owner = c.owner; - } - return *this; - } - - namespace { - inline uint32 colorKey(uchar r, uchar g, uchar b, uchar a) { - return (((((uint32(r) << 8) | uint32(g)) << 8) | uint32(b)) << 8) | uint32(a); - } - } - void Color::init(uchar r, uchar g, uchar b, uchar a) { - uint32 key = colorKey(r, g, b, a); - auto i = colorsMap.constFind(key); - if (i == colorsMap.cend()) { - i = colorsMap.insert(key, new ColorData(r, g, b, a)); - } - ptr = i.value(); - } - - Color::~Color() { - if (owner) { - delete ptr; - } - } - - ColorData::ColorData(uchar r, uchar g, uchar b, uchar a) : c(int(r), int(g), int(b), int(a)), p(c), b(c) { - } - - void ColorData::set(const QColor &color) { - c = color; - p = QPen(color); - b = QBrush(color); - } - - void startManager() { - if (cRetina()) { - cSetRealScale(dbisOne); - } - - internal::registerFontFamily(qsl("Open Sans")); - QString spriteFilePostfix; - if (cRetina() || cScale() == dbisTwo) { - spriteFilePostfix = qsl("_200x"); - } else if (cScale() == dbisOneAndQuarter) { - spriteFilePostfix = qsl("_125x"); - } else if (cScale() == dbisOneAndHalf) { - spriteFilePostfix = qsl("_150x"); - } - QString spriteFile = qsl(":/gui/art/sprite") + spriteFilePostfix + qsl(".png"); - if (rtl()) { - spriteData = new QPixmap(QPixmap::fromImage(QImage(spriteFile).mirrored(true, false))); - } else { - spriteData = new QPixmap(spriteFile); - } - if (cRetina()) spriteData->setDevicePixelRatio(cRetinaFactor()); - spriteWidthValue = spriteData->width(); - - if (styleModules) { - for_const (auto module, *styleModules) { - module->start(); - } - } - _fontFamilies.push_back(qsl("Open Sans")); - } - - void stopManager() { - if (styleModules) { - for_const (auto module, *styleModules) { - module->stop(); - } - } - - for (auto fontData : fontsMap) { - delete fontData; - } - fontsMap.clear(); - - for (auto colorData : colorsMap) { - delete colorData; - } - colorsMap.clear(); - } - - const QPixmap &spritePixmap() { - return *spriteData; - } - -}; diff --git a/Telegram/SourceFiles/ui/style_core.h b/Telegram/SourceFiles/ui/style_core.h deleted file mode 100644 index e440dd414..000000000 --- a/Telegram/SourceFiles/ui/style_core.h +++ /dev/null @@ -1,319 +0,0 @@ -/* -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/animation.h" - -#include -#include -#include -#include -#include -#include - -inline QPoint rtlpoint(int x, int y, int outerw) { - return QPoint(rtl() ? (outerw - x) : x, y); -} -inline QPoint rtlpoint(const QPoint &p, int outerw) { - return rtl() ? QPoint(outerw - p.x(), p.y()) : p; -} -inline QRect rtlrect(int x, int y, int w, int h, int outerw) { - return QRect(rtl() ? (outerw - x - w) : x, y, w, h); -} -inline QRect rtlrect(const QRect &r, int outerw) { - return rtl() ? QRect(outerw - r.x() - r.width(), r.y(), r.width(), r.height()) : r; -} -inline QRect centerrect(const QRect &inRect, const QRect &rect) { - return QRect(inRect.x() + (inRect.width() - rect.width()) / 2, inRect.y() + (inRect.height() - rect.height()) / 2, rect.width(), rect.height()); -} - -namespace style { -namespace internal { - -// Objects of derived classes are created in global scope. -// They call [un]registerModule() in [de|con]structor. -class ModuleBase { -public: - virtual void start() = 0; - virtual void stop() = 0; -}; -void registerModule(ModuleBase *module); -void unregisterModule(ModuleBase *module); - -int registerFontFamily(const QString &family); - -int spriteWidth(); - -} // namespace internal - - class FontData; - class Font { - public: - Font(Qt::Initialization = Qt::Uninitialized) : ptr(0) { - } - Font(int size, uint32 flags, const QString &family); - Font(int size, uint32 flags = 0, int family = 0); - - Font &operator=(const Font &other) { - ptr = other.ptr; - return (*this); - } - - FontData *operator->() const { - return ptr; - } - FontData *v() const { - return ptr; - } - - operator bool() const { - return !!ptr; - } - - operator const QFont &() const; - - private: - FontData *ptr; - - void init(int size, uint32 flags, int family, Font *modified); - friend void startManager(); - - Font(FontData *p) : ptr(p) { - } - Font(int size, uint32 flags, int family, Font *modified); - friend class FontData; - - }; - - enum FontFlags { - FontBold = 0x01, - FontItalic = 0x02, - FontUnderline = 0x04, - - FontDifferentFlags = 0x08, - }; - - class FontData { - public: - - int32 width(const QString &str) const { - return m.width(str); - } - int32 width(const QString &str, int32 from, int32 to) const { - return width(str.mid(from, to)); - } - int32 width(QChar ch) const { - return m.width(ch); - } - QString elided(const QString &str, int32 width, Qt::TextElideMode mode = Qt::ElideRight) const { - return m.elidedText(str, mode, width); - } - - Font bold(bool set = true) const; - Font italic(bool set = true) const; - Font underline(bool set = true) const; - - int size() const; - uint32 flags() const; - int family() const; - - QFont f; - QFontMetrics m; - int32 height, ascent, descent, spacew, elidew; - - private: - mutable Font modified[FontDifferentFlags]; - - Font otherFlagsFont(uint32 flag, bool set) const; - FontData(int size, uint32 flags, int family, Font *other); - - friend class Font; - int _size; - uint32 _flags; - int _family; - - }; - - inline bool operator==(const Font &a, const Font &b) { - return a.v() == b.v(); - } - inline bool operator!=(const Font &a, const Font &b) { - return a.v() != b.v(); - } - - inline Font::operator const QFont &() const { - return ptr->f; - } - - class ColorData; - class Color { - public: - Color(Qt::Initialization = Qt::Uninitialized) { - } - Color(const Color &c); - Color(const QColor &c); - Color(uchar r, uchar g, uchar b, uchar a = 255); - Color &operator=(const Color &c); - ~Color(); - - void set(const QColor &newv); - void set(uchar r, uchar g, uchar b, uchar a = 255); - - operator const QBrush &() const; - operator const QPen &() const; - - ColorData *operator->() const { - return ptr; - } - ColorData *v() const { - return ptr; - } - - operator bool() const { - return !!ptr; - } - - private: - ColorData *ptr = nullptr; - bool owner = false; - - void init(uchar r, uchar g, uchar b, uchar a); - - friend void startManager(); - - Color(ColorData *p) : ptr(p) { - } - friend class ColorData; - - }; - - inline uint32 _colorKey(uchar r, uchar g, uchar b, uchar a) { - return (((((uint32(r) << 8) | uint32(g)) << 8) | uint32(b)) << 8) | uint32(a); - } - - class ColorData { - public: - - QColor c; - QPen p; - QBrush b; - - private: - - ColorData(uchar r, uchar g, uchar b, uchar a); - void set(const QColor &c); - - friend class Color; - - }; - - inline bool operator==(const Color &a, const Color &b) { - return a->c == b->c; - } - - inline bool operator!=(const Color &a, const Color &b) { - return a->c != b->c; - } - - inline Color::operator const QBrush &() const { - return ptr->b; - } - inline Color::operator const QPen &() const { - return ptr->p; - } - - typedef float64 number; - typedef QString string; - typedef QRect rect; - - class sprite : public rect { - public: - sprite() { - } - sprite(int left, int top, int width, int height) : rect(rtl() ? (internal::spriteWidth() - left - width) : left, top, width, height) { - } - inline int pxWidth() const { - return rect::width() / cIntRetinaFactor(); - } - inline int pxHeight() const { - return rect::height() / cIntRetinaFactor(); - } - inline QSize pxSize() const { - return rect::size() / cIntRetinaFactor(); - } - private: - inline int width() const { - return rect::width(); - } - inline int height() const { - return rect::height(); - } - inline QSize size() const { - return rect::size(); - } - }; - typedef QPoint point; - typedef QSize size; - typedef anim::transition transition; - - typedef Qt::CursorShape cursor; - static const cursor cur_default(Qt::ArrowCursor); - static const cursor cur_pointer(Qt::PointingHandCursor); - static const cursor cur_text(Qt::IBeamCursor); - static const cursor cur_cross(Qt::CrossCursor); - static const cursor cur_sizever(Qt::SizeVerCursor); - static const cursor cur_sizehor(Qt::SizeHorCursor); - static const cursor cur_sizebdiag(Qt::SizeBDiagCursor); - static const cursor cur_sizefdiag(Qt::SizeFDiagCursor); - static const cursor cur_sizeall(Qt::SizeAllCursor); - - typedef Qt::Alignment align; - static const align al_topleft(Qt::AlignTop | Qt::AlignLeft); - static const align al_top(Qt::AlignTop | Qt::AlignHCenter); - static const align al_topright(Qt::AlignTop | Qt::AlignRight); - static const align al_right(Qt::AlignVCenter | Qt::AlignRight); - static const align al_bottomright(Qt::AlignBottom | Qt::AlignRight); - static const align al_bottom(Qt::AlignBottom | Qt::AlignHCenter); - static const align al_bottomleft(Qt::AlignBottom | Qt::AlignLeft); - static const align al_left(Qt::AlignVCenter | Qt::AlignLeft); - static const align al_center(Qt::AlignVCenter | Qt::AlignHCenter); - - typedef QMargins margins; - typedef Font font; - typedef Color color; - - inline QColor interpolate(const style::color &a, const style::color &b, float64 opacity_b) { - QColor result; - result.setRedF((a->c.redF() * (1. - opacity_b)) + (b->c.redF() * opacity_b)); - result.setGreenF((a->c.greenF() * (1. - opacity_b)) + (b->c.greenF() * opacity_b)); - result.setBlueF((a->c.blueF() * (1. - opacity_b)) + (b->c.blueF() * opacity_b)); - return result; - } - - void startManager(); - void stopManager(); - const QPixmap &spritePixmap(); - -} // namespace style - -inline QRect centersprite(const QRect &inRect, const style::sprite &sprite) { - return centerrect(inRect, QRect(QPoint(0, 0), sprite.pxSize())); -} diff --git a/Telegram/SourceFiles/ui/text/text.h b/Telegram/SourceFiles/ui/text/text.h index 488a18040..ae8a3d1d1 100644 --- a/Telegram/SourceFiles/ui/text/text.h +++ b/Telegram/SourceFiles/ui/text/text.h @@ -278,7 +278,7 @@ QString textcmdStopSemibold(); const QChar *textSkipCommand(const QChar *from, const QChar *end, bool canLink = true); inline bool chIsSpace(QChar ch, bool rich = false) { - return ch.isSpace() || (ch < 32 && !(rich && ch == TextCommand)) || (ch == QChar::ParagraphSeparator) || (ch == QChar::LineSeparator) || (ch == QChar::ObjectReplacementCharacter) || (ch == QChar::SoftHyphen) || (ch == QChar::CarriageReturn) || (ch == QChar::Tabulation); + return ch.isSpace() || (ch < 32 && !(rich && ch == TextCommand)) || (ch == QChar::ParagraphSeparator) || (ch == QChar::LineSeparator) || (ch == QChar::ObjectReplacementCharacter) || (ch == QChar::CarriageReturn) || (ch == QChar::Tabulation); } inline bool chIsDiac(QChar ch) { // diac and variation selectors return (ch.category() == QChar::Mark_NonSpacing) || (ch.unicode() == 1652); diff --git a/Telegram/SourceFiles/ui/twidget.h b/Telegram/SourceFiles/ui/twidget.h index cec138a84..8a803ad0a 100644 --- a/Telegram/SourceFiles/ui/twidget.h +++ b/Telegram/SourceFiles/ui/twidget.h @@ -80,43 +80,43 @@ public: return drawPixmapRight(p.x(), p.y(), outerw, pix); } void drawSprite(int x, int y, const style::sprite &sprite) { - return drawPixmap(QPoint(x, y), App::sprite(), sprite); + return drawPixmap(QPoint(x, y), App::sprite(), sprite.rect()); } void drawSprite(const QPoint &p, const style::sprite &sprite) { - return drawPixmap(p, App::sprite(), sprite); + return drawPixmap(p, App::sprite(), sprite.rect()); } void drawSpriteLeft(int x, int y, int outerw, const style::sprite &sprite) { - return drawPixmapLeft(x, y, outerw, App::sprite(), sprite); + return drawPixmapLeft(x, y, outerw, App::sprite(), sprite.rect()); } void drawSpriteLeft(const QPoint &p, int outerw, const style::sprite &sprite) { - return drawPixmapLeft(p, outerw, App::sprite(), sprite); + return drawPixmapLeft(p, outerw, App::sprite(), sprite.rect()); } void drawSpriteLeft(int x, int y, int w, int h, int outerw, const style::sprite &sprite) { - return drawPixmapLeft(x, y, w, h, outerw, App::sprite(), sprite); + return drawPixmapLeft(x, y, w, h, outerw, App::sprite(), sprite.rect()); } void drawSpriteLeft(const QRect &r, int outerw, const style::sprite &sprite) { - return drawPixmapLeft(r, outerw, App::sprite(), sprite); + return drawPixmapLeft(r, outerw, App::sprite(), sprite.rect()); } void drawSpriteRight(int x, int y, int outerw, const style::sprite &sprite) { - return drawPixmapRight(x, y, outerw, App::sprite(), sprite); + return drawPixmapRight(x, y, outerw, App::sprite(), sprite.rect()); } void drawSpriteRight(const QPoint &p, int outerw, const style::sprite &sprite) { - return drawPixmapRight(p, outerw, App::sprite(), sprite); + return drawPixmapRight(p, outerw, App::sprite(), sprite.rect()); } void drawSpriteRight(int x, int y, int w, int h, int outerw, const style::sprite &sprite) { - return drawPixmapRight(x, y, w, h, outerw, App::sprite(), sprite); + return drawPixmapRight(x, y, w, h, outerw, App::sprite(), sprite.rect()); } void drawSpriteRight(const QRect &r, int outerw, const style::sprite &sprite) { - return drawPixmapRight(r, outerw, App::sprite(), sprite); + return drawPixmapRight(r, outerw, App::sprite(), sprite.rect()); } void drawSpriteCenter(const QRect &in, const style::sprite &sprite) { - return drawPixmap(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), App::sprite(), sprite); + return drawPixmap(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), App::sprite(), sprite.rect()); } void drawSpriteCenterLeft(const QRect &in, int outerw, const style::sprite &sprite) { - return drawPixmapLeft(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), outerw, App::sprite(), sprite); + return drawPixmapLeft(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), outerw, App::sprite(), sprite.rect()); } void drawSpriteCenterRight(const QRect &in, int outerw, const style::sprite &sprite) { - return drawPixmapRight(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), outerw, App::sprite(), sprite); + return drawPixmapRight(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), outerw, App::sprite(), sprite.rect()); } }; diff --git a/Telegram/SourceFiles/window/top_bar_widget.cpp b/Telegram/SourceFiles/window/top_bar_widget.cpp index b6b1ace0d..4f4ba9e76 100644 --- a/Telegram/SourceFiles/window/top_bar_widget.cpp +++ b/Telegram/SourceFiles/window/top_bar_widget.cpp @@ -180,7 +180,7 @@ void TopBarWidget::step_appearance(float64 ms, bool timer) { } void TopBarWidget::paintEvent(QPaintEvent *e) { - QPainter p(this); + Painter p(this); if (e->rect().top() < st::topBarHeight) { // optimize shadow-only drawing p.fillRect(QRect(0, 0, width(), st::topBarHeight), st::topBarBG->b); diff --git a/Telegram/Telegram.pro b/Telegram/Telegram.pro index 8e9fd055d..89232509b 100644 --- a/Telegram/Telegram.pro +++ b/Telegram/Telegram.pro @@ -154,6 +154,7 @@ SOURCES += \ ./SourceFiles/serialize/serialize_common.cpp \ ./SourceFiles/serialize/serialize_document.cpp \ ./SourceFiles/ui/buttons/peer_avatar_button.cpp \ + ./SourceFiles/ui/style/style_core.cpp \ ./SourceFiles/ui/text/text.cpp \ ./SourceFiles/ui/text/text_block.cpp \ ./SourceFiles/ui/text/text_entity.cpp \ @@ -174,7 +175,6 @@ SOURCES += \ ./SourceFiles/ui/flattextarea.cpp \ ./SourceFiles/ui/images.cpp \ ./SourceFiles/ui/scrollarea.cpp \ - ./SourceFiles/ui/style_core.cpp \ ./SourceFiles/ui/twidget.cpp \ ./SourceFiles/window/top_bar_widget.cpp @@ -272,6 +272,7 @@ HEADERS += \ ./SourceFiles/serialize/serialize_common.h \ ./SourceFiles/serialize/serialize_document.h \ ./SourceFiles/ui/buttons/peer_avatar_button.h \ + ./SourceFiles/ui/style/style_core.h \ ./SourceFiles/ui/text/text.h \ ./SourceFiles/ui/text/text_block.h \ ./SourceFiles/ui/text/text_entity.h \ @@ -292,8 +293,6 @@ HEADERS += \ ./SourceFiles/ui/flattextarea.h \ ./SourceFiles/ui/images.h \ ./SourceFiles/ui/scrollarea.h \ - ./SourceFiles/ui/style.h \ - ./SourceFiles/ui/style_core.h \ ./SourceFiles/ui/twidget.h \ ./SourceFiles/window/top_bar_widget.h diff --git a/Telegram/Telegram.vcxproj b/Telegram/Telegram.vcxproj index 6b7d7bc3d..babb2f1f4 100644 --- a/Telegram/Telegram.vcxproj +++ b/Telegram/Telegram.vcxproj @@ -1053,6 +1053,7 @@ + @@ -1170,7 +1171,11 @@ - + + + + + @@ -1195,7 +1200,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_winrt.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/pspecific_winrt.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_winrt.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_winrt.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1212,7 +1217,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_http.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_http.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_http.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_http.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1226,7 +1231,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_tcp.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_tcp.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_tcp.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_tcp.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1240,7 +1245,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing basic_types.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/core/basic_types.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/core/basic_types.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing basic_types.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1249,6 +1254,7 @@ + @@ -1270,7 +1276,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1284,7 +1290,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_abstract.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_abstract.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_abstract.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_abstract.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1298,7 +1304,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_auto.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_auto.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/connection_auto.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing connection_auto.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1313,7 +1319,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing dcenter.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/dcenter.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/dcenter.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing dcenter.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1325,7 +1331,7 @@ "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.h" Moc%27ing facade.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.h" Moc%27ing facade.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/facade.h" @@ -1341,7 +1347,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing file_download.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/file_download.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/file_download.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing file_download.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1358,7 +1364,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing session.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mtproto/session.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mtproto/session.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing session.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1376,7 +1382,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing animation.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/animation.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/animation.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing animation.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1391,7 +1397,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing button.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/button.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/button.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing button.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1405,7 +1411,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing countryinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/countryinput.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/countryinput.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing countryinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1422,7 +1428,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatbutton.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flatbutton.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatbutton.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatbutton.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1436,7 +1442,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatcheckbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flatcheckbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatcheckbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatcheckbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1450,7 +1456,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flatinput.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatinput.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatinput.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1464,7 +1470,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatlabel.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flatlabel.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/flatlabel.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flatlabel.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1478,7 +1484,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flattextarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/flattextarea.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/flattextarea.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing flattextarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1493,7 +1499,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing popupmenu.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/popupmenu.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/popupmenu.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing popupmenu.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1507,14 +1513,12 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing scrollarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing scrollarea.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/scrollarea.h" - - $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing twidget.h... @@ -1523,12 +1527,17 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing twidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/twidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/twidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing twidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/ui/twidget.h" + + + + + @@ -1541,7 +1550,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing toast_manager.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/ui/toast/toast_manager.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing toast_manager.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1556,7 +1565,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing top_bar_widget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/window/top_bar_widget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/window/top_bar_widget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing top_bar_widget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1568,7 +1577,7 @@ Moc%27ing mainwindow.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mainwindow.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mainwindow.h" Moc%27ing mainwindow.h... Moc%27ing mainwindow.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1592,7 +1601,7 @@ Moc%27ing application.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/application.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/application.h" Moc%27ing application.h... Moc%27ing application.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1613,7 +1622,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing apiwrap.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/apiwrap.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/apiwrap.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing apiwrap.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1623,7 +1632,7 @@ Moc%27ing aboutbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/aboutbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/aboutbox.h" Moc%27ing aboutbox.h... Moc%27ing aboutbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1637,7 +1646,7 @@ Moc%27ing addcontactbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/addcontactbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/addcontactbox.h" Moc%27ing addcontactbox.h... Moc%27ing addcontactbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1651,7 +1660,7 @@ Moc%27ing confirmbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/confirmbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/confirmbox.h" Moc%27ing confirmbox.h... Moc%27ing confirmbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1665,7 +1674,7 @@ Moc%27ing connectionbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/connectionbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/connectionbox.h" Moc%27ing connectionbox.h... Moc%27ing connectionbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1679,7 +1688,7 @@ Moc%27ing contactsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/contactsbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/contactsbox.h" Moc%27ing contactsbox.h... Moc%27ing contactsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1693,7 +1702,7 @@ Moc%27ing photocropbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/photocropbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/photocropbox.h" Moc%27ing photocropbox.h... Moc%27ing photocropbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1707,7 +1716,7 @@ Moc%27ing photosendbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/photosendbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/photosendbox.h" Moc%27ing photosendbox.h... Moc%27ing photosendbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1721,7 +1730,7 @@ Moc%27ing emojibox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/emojibox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/emojibox.h" Moc%27ing emojibox.h... Moc%27ing emojibox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1735,7 +1744,7 @@ Moc%27ing downloadpathbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/downloadpathbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/downloadpathbox.h" Moc%27ing downloadpathbox.h... Moc%27ing downloadpathbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1754,7 +1763,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing audio.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/audio.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/audio.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing audio.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1768,7 +1777,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing usernamebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/usernamebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/usernamebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing usernamebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1782,7 +1791,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing languagebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/languagebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/languagebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing languagebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1796,7 +1805,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing backgroundbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/backgroundbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/backgroundbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing backgroundbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1810,7 +1819,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autolockbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/autolockbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/autolockbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autolockbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1824,7 +1833,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/passcodebox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/passcodebox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodebox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1838,7 +1847,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing sessionsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/sessionsbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/sessionsbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing sessionsbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1852,7 +1861,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing abstractbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/abstractbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/abstractbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing abstractbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1866,7 +1875,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing stickersetbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/boxes/stickersetbox.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/boxes/stickersetbox.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing stickersetbox.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1880,7 +1889,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autoupdater.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/autoupdater.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/autoupdater.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing autoupdater.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1891,7 +1900,7 @@ Moc%27ing dialogswidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/dialogswidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/dialogswidget.h" Moc%27ing dialogswidget.h... Moc%27ing dialogswidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1905,7 +1914,7 @@ Moc%27ing fileuploader.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/fileuploader.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/fileuploader.h" Moc%27ing fileuploader.h... Moc%27ing fileuploader.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1919,7 +1928,7 @@ Moc%27ing dropdown.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/dropdown.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/dropdown.h" Moc%27ing dropdown.h... Moc%27ing dropdown.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1937,7 +1946,7 @@ "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/history.h" Moc%27ing history.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/history.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/history.h" Moc%27ing history.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl\Release\include" "-fstdafx.h" "-f../../SourceFiles/history.h" @@ -1948,7 +1957,7 @@ Moc%27ing historywidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/historywidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/historywidget.h" Moc%27ing historywidget.h... Moc%27ing historywidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1962,7 +1971,7 @@ Moc%27ing introwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/introwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/intro/introwidget.h" Moc%27ing introwidget.h... Moc%27ing introwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1976,7 +1985,7 @@ Moc%27ing introcode.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/introcode.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/intro/introcode.h" Moc%27ing introcode.h... Moc%27ing introcode.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -1990,7 +1999,7 @@ Moc%27ing introphone.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/introphone.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/intro/introphone.h" Moc%27ing introphone.h... Moc%27ing introphone.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2004,7 +2013,7 @@ Moc%27ing introsignup.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/introsignup.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/intro/introsignup.h" Moc%27ing introsignup.h... Moc%27ing introsignup.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2023,7 +2032,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing intropwdcheck.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/intro/intropwdcheck.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/intro/intropwdcheck.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing intropwdcheck.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2033,7 +2042,7 @@ Moc%27ing layerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/layerwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/layerwidget.h" Moc%27ing layerwidget.h... Moc%27ing layerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2047,7 +2056,7 @@ Moc%27ing localimageloader.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/localimageloader.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/localimageloader.h" Moc%27ing localimageloader.h... Moc%27ing localimageloader.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2068,7 +2077,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing localstorage.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/localstorage.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/localstorage.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing localstorage.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2098,7 +2107,7 @@ Moc%27ing mainwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mainwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mainwidget.h" Moc%27ing mainwidget.h... Moc%27ing mainwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2117,7 +2126,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing mediaview.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/mediaview.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/mediaview.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing mediaview.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2126,7 +2135,7 @@ Moc%27ing settingswidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/settingswidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/settingswidget.h" Moc%27ing settingswidget.h... Moc%27ing settingswidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2140,7 +2149,7 @@ Moc%27ing profilewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/profilewidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/profilewidget.h" Moc%27ing profilewidget.h... Moc%27ing profilewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2154,7 +2163,7 @@ Moc%27ing pspecific_win.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/pspecific_win.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_win.h" Moc%27ing pspecific_win.h... Moc%27ing pspecific_win.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2173,7 +2182,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing overviewwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/overviewwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/overviewwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing overviewwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2187,7 +2196,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/passcodewidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/passcodewidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing passcodewidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2201,7 +2210,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing playerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/playerwidget.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/playerwidget.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing playerwidget.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2216,7 +2225,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_linux.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/pspecific_linux.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_linux.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_linux.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2233,7 +2242,7 @@ $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_mac.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/pspecific_mac.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/pspecific_mac.h" $(QTDIR)\bin\moc.exe;%(FullPath) Moc%27ing pspecific_mac.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2271,7 +2280,7 @@ Moc%27ing sysbuttons.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/sysbuttons.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/sysbuttons.h" Moc%27ing sysbuttons.h... Moc%27ing sysbuttons.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2285,7 +2294,7 @@ Moc%27ing title.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(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\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-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$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-fstdafx.h" "-f../../SourceFiles/title.h" + "$(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.\SourceFiles" "-I.\GeneratedFiles" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtCore\5.5.1\QtCore" "-I.\..\..\Libraries\QtStatic\qtbase\include\QtGui\5.5.1\QtGui" "-I.\..\..\Libraries\breakpad\src" "-I.\..\..\Libraries\lzma\C" "-I.\..\..\Libraries\libexif-0.6.20" "-I.\..\..\Libraries\zlib-1.2.8" "-I.\..\..\Libraries\ffmpeg" "-I.\..\..\Libraries\openal-soft\include" "-I.\ThirdParty\minizip" "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I.\..\..\Libraries\openssl_debug\Debug\include" "-fstdafx.h" "-f../../SourceFiles/title.h" Moc%27ing title.h... Moc%27ing title.h... .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp @@ -2379,6 +2388,7 @@ + diff --git a/Telegram/Telegram.vcxproj.filters b/Telegram/Telegram.vcxproj.filters index f1ee2db64..b185dda99 100644 --- a/Telegram/Telegram.vcxproj.filters +++ b/Telegram/Telegram.vcxproj.filters @@ -85,6 +85,9 @@ {3397dfda-79f1-4a4c-940b-be26b001baf5} + + {58dd7db6-06a2-4076-964d-aec4e106c8c8} + @@ -972,9 +975,6 @@ GeneratedFiles\Release - - SourceFiles\ui - SourceFiles\ui @@ -1083,6 +1083,24 @@ GeneratedFiles\styles + + GeneratedFiles\styles + + + SourceFiles\ui\style + + + SourceFiles\ui\style + + + SourceFiles\ui\style + + + SourceFiles\ui\style + + + SourceFiles\ui\style + @@ -1175,12 +1193,6 @@ SourceFiles\ui - - SourceFiles\ui - - - SourceFiles\ui - SourceFiles\ui\toast @@ -1241,6 +1253,24 @@ GeneratedFiles + + GeneratedFiles\styles + + + SourceFiles\ui\style + + + SourceFiles\ui\style + + + SourceFiles\ui\style + + + SourceFiles\ui\style + + + SourceFiles\ui\style + @@ -1545,5 +1575,8 @@ Resources + + SourceFiles\overview + \ No newline at end of file diff --git a/Telegram/Telegram.xcodeproj/project.pbxproj b/Telegram/Telegram.xcodeproj/project.pbxproj index 58f93ee0d..81c82dd96 100644 --- a/Telegram/Telegram.xcodeproj/project.pbxproj +++ b/Telegram/Telegram.xcodeproj/project.pbxproj @@ -501,7 +501,7 @@ 0ECF1EB9BF3786A16731F685 /* emojibox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = emojibox.cpp; path = SourceFiles/boxes/emojibox.cpp; sourceTree = ""; }; 0F8FFD87AEBAC448568570DC /* images.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = images.h; path = SourceFiles/ui/images.h; sourceTree = ""; }; 0FBED3C6654EA3753EB39831 /* session.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = session.cpp; path = SourceFiles/mtproto/session.cpp; sourceTree = ""; }; - 0FC38EE7F29EF895925A2C49 /* style_core.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = style_core.h; path = SourceFiles/ui/style_core.h; sourceTree = ""; }; + 0FC38EE7F29EF895925A2C49 /* style_core.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = style_core.h; path = SourceFiles/ui/style/style_core.h; sourceTree = ""; }; 1080B6D395843B8F76A2E45E /* moc_title.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_title.cpp; path = GeneratedFiles/Debug/moc_title.cpp; sourceTree = ""; }; 120EBCD9A37DB9A36BFE58C0 /* contactsbox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = contactsbox.h; path = SourceFiles/boxes/contactsbox.h; sourceTree = ""; }; 1292B92B4848460640F6A391 /* telegram.qrc */ = {isa = PBXFileReference; lastKnownFileType = text; name = telegram.qrc; path = Resources/telegram.qrc; sourceTree = ""; }; @@ -545,7 +545,7 @@ 3C44131FDCFEF4396B9EA2BA /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = ""; }; 3D54A9F3266BB8739520E3FB /* moc_fileuploader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_fileuploader.cpp; path = GeneratedFiles/Debug/moc_fileuploader.cpp; sourceTree = ""; }; 3E329D4547CC23585307FA32 /* countryinput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = countryinput.cpp; path = SourceFiles/ui/countryinput.cpp; sourceTree = ""; }; - 420A06A32B66D250142B4B6D /* style_core.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = style_core.cpp; path = SourceFiles/ui/style_core.cpp; sourceTree = ""; }; + 420A06A32B66D250142B4B6D /* style_core.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = style_core.cpp; path = SourceFiles/ui/style/style_core.cpp; sourceTree = ""; }; 4604687EBA85611C9E8A9CDF /* button.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = button.h; path = SourceFiles/ui/button.h; sourceTree = ""; }; 46292F489228B60010794CE4 /* moc_button.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_button.cpp; path = GeneratedFiles/Debug/moc_button.cpp; sourceTree = ""; }; 4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.5.1/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; @@ -661,7 +661,6 @@ C20F9DD8C7B031B8E20D5653 /* application.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = application.cpp; path = SourceFiles/application.cpp; sourceTree = ""; }; C34459FA465B57DF4DB80D12 /* introstart.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = introstart.cpp; path = SourceFiles/intro/introstart.cpp; sourceTree = ""; }; C63C6D083EBEB13A60256DF3 /* historywidget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = historywidget.h; path = SourceFiles/historywidget.h; sourceTree = ""; }; - C913E6A1001E07EE7C13CE93 /* style.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = style.h; path = SourceFiles/ui/style.h; sourceTree = ""; }; C9FFCCE4FCB845744636795F /* moc_flatbutton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_flatbutton.cpp; path = GeneratedFiles/Debug/moc_flatbutton.cpp; sourceTree = ""; }; CA56ACFB53D87637192CC9B2 /* mainwindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mainwindow.cpp; path = SourceFiles/mainwindow.cpp; sourceTree = ""; }; CE0D5EFE401BF9815FACE579 /* pspecific_mac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pspecific_mac.h; path = SourceFiles/pspecific_mac.h; sourceTree = ""; }; @@ -1161,7 +1160,6 @@ CA56ACFB53D87637192CC9B2 /* mainwindow.cpp */, 301BB513F2F5D447B3BF22DF /* mainwindow.h */, 24F7D3E789E91B10E422C116 /* config.h */, - C913E6A1001E07EE7C13CE93 /* style.h */, ); name = SourceFiles; sourceTree = ""; diff --git a/Telegram/Telegram.xcodeproj/qt_preprocess.mak b/Telegram/Telegram.xcodeproj/qt_preprocess.mak index b033462ff..eb92181bd 100644 --- a/Telegram/Telegram.xcodeproj/qt_preprocess.mak +++ b/Telegram/Telegram.xcodeproj/qt_preprocess.mak @@ -6,18 +6,40 @@ # Command: /usr/local/Qt-5.5.1/bin/qmake -spec macx-xcode -o Telegram.xcodeproj/project.pbxproj Telegram.pro ############################################################################# -MAKEFILE = project.pbxproj +MAKEFILE = project.pbxproj -MOC = /usr/local/Qt-5.5.1/bin/moc -UIC = /usr/local/Qt-5.5.1/bin/uic +QT_VER = 5.5.1 +QT_DIR = /usr/local/Qt-$(QT_VER) +QT_MOC = $(QT_DIR)/bin/moc +QT_RCC = $(QT_DIR)/bin/rcc LEX = flex LEXFLAGS = YACC = yacc YACCFLAGS = -d -DEFINES = -D_DEBUG -D_DEBUG -DQT_MULTIMEDIA_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -INCPATH = -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.5.1/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.5.1/QtCore -I../../Libraries/QtStatic/qtbase/include -ISourceFiles -IGeneratedFiles -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 -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers +DEFINES = -D_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -D__APPLE__ -D__GNUC__=4 +INCPATH = -I$(QT_DIR)/mkspecs/macx-clang\ + -I$(QT_DIR)/include/QtGui/$(QT_VER)/QtGui\ + -I$(QT_DIR)/include/QtCore/$(QT_VER)/QtCore\ + -I$(QT_VER)/include\ + -I$(QT_DIR)/include/QtWidgets\ + -I$(QT_DIR)/include/QtNetwork\ + -I$(QT_DIR)/include/QtGui\ + -I$(QT_DIR)/include/QtCore\ + -ISourceFiles\ + -IGeneratedFiles\ + -I../../Libraries/lzma/C\ + -I../../Libraries/libexif-0.6.20\ + -IGeneratedFiles/Debug\ + -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/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\ + -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers\ + -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers\ + -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 DEL_FILE = rm -f MOVE = mv -f +MOC_FILE = $(QT_MOC) $(DEFINES) $(INCPATH) IMAGES = PARSERS = @@ -111,8 +133,8 @@ compiler_rcc_clean: -$(DEL_FILE) GeneratedFiles/qrc_telegram.cpp GeneratedFiles/qrc_telegram_emojis.cpp GeneratedFiles/qrc_telegram_mac.cpp GeneratedFiles/qrc_telegram.cpp: Resources/telegram.qrc \ Resources/art/fonts/OpenSans-Regular.ttf \ - Resources/art/fonts/OpenSans-Bold.ttf \ - Resources/art/fonts/OpenSans-Semibold.ttf \ + Resources/art/fonts/OpenSans-Bold.ttf \ + Resources/art/fonts/OpenSans-Semibold.ttf \ Resources/art/newmsg.wav \ Resources/art/bg.jpg \ Resources/art/bg0.png \ @@ -146,7 +168,7 @@ GeneratedFiles/qrc_telegram.cpp: Resources/telegram.qrc \ Resources/langs/lang_nl.strings \ Resources/langs/lang_pt_BR.strings \ Resources/langs/lang_ko.strings - /usr/local/Qt-5.5.1/bin/rcc -name telegram Resources/telegram.qrc -o GeneratedFiles/qrc_telegram.cpp + $(QT_RCC) -name telegram Resources/telegram.qrc -o GeneratedFiles/qrc_telegram.cpp GeneratedFiles/qrc_telegram_emojis.cpp: Resources/telegram_emojis.qrc \ Resources/art/emoji.webp \ @@ -154,11 +176,11 @@ GeneratedFiles/qrc_telegram_emojis.cpp: Resources/telegram_emojis.qrc \ Resources/art/emoji_150x.webp \ Resources/art/emoji_200x.webp \ Resources/art/emoji_250x.webp - /usr/local/Qt-5.5.1/bin/rcc -name telegram_emojis Resources/telegram_emojis.qrc -o GeneratedFiles/qrc_telegram_emojis.cpp + $(QT_RCC) -name telegram_emojis Resources/telegram_emojis.qrc -o GeneratedFiles/qrc_telegram_emojis.cpp GeneratedFiles/qrc_telegram_mac.cpp: Resources/telegram_mac.qrc \ Resources/art/osxtray.png - /usr/local/Qt-5.5.1/bin/rcc -name telegram_mac Resources/telegram_mac.qrc -o GeneratedFiles/qrc_telegram_mac.cpp + $(QT_RCC) -name telegram_mac Resources/telegram_mac.qrc -o GeneratedFiles/qrc_telegram_mac.cpp compiler_moc_header_make_all: GeneratedFiles/Debug/moc_apiwrap.cpp\ GeneratedFiles/Debug/moc_application.cpp\ @@ -297,569 +319,209 @@ compiler_moc_header_clean: GeneratedFiles/Debug/moc_intropwdcheck.cpp\ GeneratedFiles/Debug/moc_introsignup.cpp\ GeneratedFiles/Debug/moc_pspecific_mac.cpp -GeneratedFiles/Debug/moc_apiwrap.cpp: SourceFiles/core/basic_types.h \ - SourceFiles/logs.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 +GeneratedFiles/Debug/moc_apiwrap.cpp: SourceFiles/apiwrap.h + $(MOC_FILE) SourceFiles/apiwrap.h -o GeneratedFiles/Debug/moc_apiwrap.cpp -GeneratedFiles/Debug/moc_application.cpp: ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalSocket \ - ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalServer \ - ../../Libraries/QtStatic/qtbase/include/QtNetwork/QNetworkReply \ - SourceFiles/mainwindow.h \ - SourceFiles/title.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/sysbuttons.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/pspecific.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QMainWindow \ - SourceFiles/pspecific_mac.h \ - SourceFiles/pspecific_win.h \ - SourceFiles/pspecific_winrt.h \ - SourceFiles/ui/boxshadow.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 +GeneratedFiles/Debug/moc_application.cpp: SourceFiles/application.h + $(MOC_FILE) SourceFiles/application.h -o GeneratedFiles/Debug/moc_application.cpp -GeneratedFiles/Debug/moc_audio.cpp: SourceFiles/core/basic_types.h \ - SourceFiles/audio.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../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 +GeneratedFiles/Debug/moc_audio.cpp: SourceFiles/audio.h + $(MOC_FILE) SourceFiles/audio.h -o GeneratedFiles/Debug/moc_audio.cpp -GeneratedFiles/Debug/moc_autoupdater.cpp: SourceFiles/core/basic_types.h \ - SourceFiles/autoupdater.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../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/autoupdater.h -o GeneratedFiles/Debug/moc_autoupdater.cpp +GeneratedFiles/Debug/moc_autoupdater.cpp: SourceFiles/autoupdater.h + $(MOC_FILE) SourceFiles/autoupdater.h -o GeneratedFiles/Debug/moc_autoupdater.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp: SourceFiles/dialogswidget.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/dialogswidget.h -o GeneratedFiles/Debug/moc_dialogswidget.cpp + $(MOC_FILE) SourceFiles/dialogswidget.h -o GeneratedFiles/Debug/moc_dialogswidget.cpp -GeneratedFiles/Debug/moc_dropdown.cpp: SourceFiles/ui/twidget.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/dropdown.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/dropdown.h -o GeneratedFiles/Debug/moc_dropdown.cpp +GeneratedFiles/Debug/moc_dropdown.cpp: SourceFiles/dropdown.h + $(MOC_FILE) SourceFiles/dropdown.h -o GeneratedFiles/Debug/moc_dropdown.cpp -GeneratedFiles/Debug/moc_fileuploader.cpp: SourceFiles/localimageloader.h \ - SourceFiles/fileuploader.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/fileuploader.h -o GeneratedFiles/Debug/moc_fileuploader.cpp +GeneratedFiles/Debug/moc_fileuploader.cpp: SourceFiles/fileuploader.h + $(MOC_FILE) SourceFiles/fileuploader.h -o GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp: SourceFiles/history.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/history.h -o GeneratedFiles/Debug/moc_history.cpp + $(MOC_FILE) SourceFiles/history.h -o GeneratedFiles/Debug/moc_history.cpp -GeneratedFiles/Debug/moc_historywidget.cpp: SourceFiles/localimageloader.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/dropdown.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/passcodewidget.h \ - SourceFiles/historywidget.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/historywidget.h -o GeneratedFiles/Debug/moc_historywidget.cpp +GeneratedFiles/Debug/moc_historywidget.cpp: SourceFiles/historywidget.h + $(MOC_FILE) SourceFiles/historywidget.h -o GeneratedFiles/Debug/moc_historywidget.cpp -GeneratedFiles/Debug/moc_layerwidget.cpp: SourceFiles/ui/boxshadow.h \ - SourceFiles/layerwidget.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/layerwidget.h -o GeneratedFiles/Debug/moc_layerwidget.cpp +GeneratedFiles/Debug/moc_layerwidget.cpp: SourceFiles/layerwidget.h + $(MOC_FILE) SourceFiles/layerwidget.h -o GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp: SourceFiles/mediaview.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/mediaview.h -o GeneratedFiles/Debug/moc_mediaview.cpp + $(MOC_FILE) SourceFiles/mediaview.h -o GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp: SourceFiles/overviewwidget.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/overviewwidget.h -o GeneratedFiles/Debug/moc_overviewwidget.cpp + $(MOC_FILE) SourceFiles/overviewwidget.h -o GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_playerwidget.cpp: SourceFiles/playerwidget.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/playerwidget.h -o GeneratedFiles/Debug/moc_playerwidget.cpp + $(MOC_FILE) SourceFiles/playerwidget.h -o GeneratedFiles/Debug/moc_playerwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp: SourceFiles/profilewidget.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/profilewidget.h -o GeneratedFiles/Debug/moc_profilewidget.cpp + $(MOC_FILE) SourceFiles/profilewidget.h -o GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp: SourceFiles/passcodewidget.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/passcodewidget.h -o GeneratedFiles/Debug/moc_passcodewidget.cpp + $(MOC_FILE) SourceFiles/passcodewidget.h -o GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp: SourceFiles/localimageloader.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/localimageloader.h -o GeneratedFiles/Debug/moc_localimageloader.cpp + $(MOC_FILE) SourceFiles/localimageloader.h -o GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp: SourceFiles/localstorage.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/localstorage.h -o GeneratedFiles/Debug/moc_localstorage.cpp + $(MOC_FILE) SourceFiles/localstorage.h -o GeneratedFiles/Debug/moc_localstorage.cpp -GeneratedFiles/Debug/moc_mainwidget.cpp: SourceFiles/localimageloader.h \ - SourceFiles/history/history_common.h \ - SourceFiles/mainwidget.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/mainwidget.h -o GeneratedFiles/Debug/moc_mainwidget.cpp +GeneratedFiles/Debug/moc_mainwidget.cpp: SourceFiles/mainwidget.h + $(MOC_FILE) SourceFiles/mainwidget.h -o GeneratedFiles/Debug/moc_mainwidget.cpp -GeneratedFiles/Debug/moc_top_bar_widget.cpp: SourceFiles/ui/twidget.h \ - SourceFiles/window/top_bar_widget.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/top_bar_widget.h -o GeneratedFiles/Debug/moc_top_bar_widget.cpp +GeneratedFiles/Debug/moc_top_bar_widget.cpp: SourceFiles/window/top_bar_widget.h + $(MOC_FILE) SourceFiles/window/top_bar_widget.h -o GeneratedFiles/Debug/moc_top_bar_widget.cpp -GeneratedFiles/Debug/moc_settingswidget.cpp: SourceFiles/ui/flatbutton.h \ - SourceFiles/ui/button.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/style.h \ - SourceFiles/sysbuttons.h \ - SourceFiles/settingswidget.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/settingswidget.h -o GeneratedFiles/Debug/moc_settingswidget.cpp +GeneratedFiles/Debug/moc_settingswidget.cpp: SourceFiles/settingswidget.h + $(MOC_FILE) SourceFiles/settingswidget.h -o GeneratedFiles/Debug/moc_settingswidget.cpp -GeneratedFiles/Debug/moc_sysbuttons.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/button.h \ - SourceFiles/passcodewidget.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/sysbuttons.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/sysbuttons.h -o GeneratedFiles/Debug/moc_sysbuttons.cpp +GeneratedFiles/Debug/moc_sysbuttons.cpp: SourceFiles/sysbuttons.h + $(MOC_FILE) SourceFiles/sysbuttons.h -o GeneratedFiles/Debug/moc_sysbuttons.cpp -GeneratedFiles/Debug/moc_title.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/sysbuttons.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.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 +GeneratedFiles/Debug/moc_title.cpp: SourceFiles/title.h + $(MOC_FILE) SourceFiles/title.h -o GeneratedFiles/Debug/moc_title.cpp -GeneratedFiles/Debug/moc_basic_types.cpp: SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../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/core/basic_types.h -o GeneratedFiles/Debug/moc_basic_types.cpp +GeneratedFiles/Debug/moc_basic_types.cpp: SourceFiles/core/basic_types.h + $(MOC_FILE) SourceFiles/core/basic_types.h -o GeneratedFiles/Debug/moc_basic_types.cpp -GeneratedFiles/Debug/moc_mainwindow.cpp: SourceFiles/title.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/sysbuttons.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/pspecific.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QMainWindow \ - ../../Libraries/QtStatic/qtbase/include/QtNetwork/QNetworkReply \ - SourceFiles/pspecific_mac.h \ - SourceFiles/pspecific_win.h \ - SourceFiles/pspecific_winrt.h \ - SourceFiles/passcodewidget.h \ - SourceFiles/ui/boxshadow.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/mainwindow.h -o GeneratedFiles/Debug/moc_mainwindow.cpp +GeneratedFiles/Debug/moc_mainwindow.cpp: SourceFiles/mainwindow.h + $(MOC_FILE) SourceFiles/mainwindow.h -o GeneratedFiles/Debug/moc_mainwindow.cpp -GeneratedFiles/Debug/moc_facade.cpp: SourceFiles/mtproto/session.h \ - SourceFiles/mtproto/connection.h \ - SourceFiles/mtproto/connection_abstract.h \ - SourceFiles/mtproto/connection_auto.h \ - SourceFiles/mtproto/connection_http.h \ - SourceFiles/mtproto/connection_tcp.h \ - SourceFiles/mtproto/core_types.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - SourceFiles/mtproto/scheme_auto.h \ - SourceFiles/mtproto/rsa_public_key.h \ - SourceFiles/mtproto/auth_key.h \ - SourceFiles/mtproto/dcenter.h \ - SourceFiles/mtproto/rpc_sender.h \ - SourceFiles/mtproto/file_download.h \ - SourceFiles/mtproto/facade.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 +GeneratedFiles/Debug/moc_facade.cpp: SourceFiles/mtproto/facade.h + $(MOC_FILE) SourceFiles/mtproto/facade.h -o GeneratedFiles/Debug/moc_facade.cpp -GeneratedFiles/Debug/moc_connection.cpp: SourceFiles/mtproto/core_types.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - SourceFiles/mtproto/scheme_auto.h \ - SourceFiles/mtproto/rsa_public_key.h \ - SourceFiles/mtproto/auth_key.h \ - SourceFiles/mtproto/connection.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 +GeneratedFiles/Debug/moc_connection.cpp: SourceFiles/mtproto/connection.h + $(MOC_FILE) SourceFiles/mtproto/connection.h -o GeneratedFiles/Debug/moc_connection.cpp -GeneratedFiles/Debug/moc_connection_abstract.cpp: SourceFiles/mtproto/core_types.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - SourceFiles/mtproto/scheme_auto.h \ - SourceFiles/mtproto/rsa_public_key.h \ - SourceFiles/mtproto/auth_key.h \ - SourceFiles/mtproto/connection_abstract.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_abstract.h -o GeneratedFiles/Debug/moc_connection_abstract.cpp +GeneratedFiles/Debug/moc_connection_abstract.cpp: SourceFiles/mtproto/connection_abstract.h + $(MOC_FILE) SourceFiles/mtproto/connection_abstract.h -o GeneratedFiles/Debug/moc_connection_abstract.cpp -GeneratedFiles/Debug/moc_connection_auto.cpp: SourceFiles/mtproto/core_types.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - SourceFiles/mtproto/scheme_auto.h \ - SourceFiles/mtproto/rsa_public_key.h \ - SourceFiles/mtproto/auth_key.h \ - SourceFiles/mtproto/connection_auto.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 +GeneratedFiles/Debug/moc_connection_auto.cpp: SourceFiles/mtproto/connection_auto.h + $(MOC_FILE) SourceFiles/mtproto/connection_auto.h -o GeneratedFiles/Debug/moc_connection_auto.cpp -GeneratedFiles/Debug/moc_connection_http.cpp: SourceFiles/mtproto/core_types.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - SourceFiles/mtproto/scheme_auto.h \ - SourceFiles/mtproto/rsa_public_key.h \ - SourceFiles/mtproto/auth_key.h \ - SourceFiles/mtproto/connection_http.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 +GeneratedFiles/Debug/moc_connection_http.cpp: SourceFiles/mtproto/connection_http.h + $(MOC_FILE) SourceFiles/mtproto/connection_http.h -o GeneratedFiles/Debug/moc_connection_http.cpp -GeneratedFiles/Debug/moc_connection_tcp.cpp: SourceFiles/mtproto/core_types.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - SourceFiles/mtproto/scheme_auto.h \ - SourceFiles/mtproto/rsa_public_key.h \ - SourceFiles/mtproto/auth_key.h \ - SourceFiles/mtproto/connection_tcp.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_tcp.h -o GeneratedFiles/Debug/moc_connection_tcp.cpp +GeneratedFiles/Debug/moc_connection_tcp.cpp: SourceFiles/mtproto/connection_tcp.h + $(MOC_FILE) SourceFiles/mtproto/connection_tcp.h -o GeneratedFiles/Debug/moc_connection_tcp.cpp GeneratedFiles/Debug/moc_dcenter.cpp: SourceFiles/mtproto/dcenter.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/dcenter.h -o GeneratedFiles/Debug/moc_dcenter.cpp + $(MOC_FILE) SourceFiles/mtproto/dcenter.h -o GeneratedFiles/Debug/moc_dcenter.cpp GeneratedFiles/Debug/moc_file_download.cpp: SourceFiles/mtproto/file_download.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/file_download.h -o GeneratedFiles/Debug/moc_file_download.cpp + $(MOC_FILE) SourceFiles/mtproto/file_download.h -o GeneratedFiles/Debug/moc_file_download.cpp -GeneratedFiles/Debug/moc_session.cpp: SourceFiles/mtproto/connection.h \ - SourceFiles/mtproto/connection_abstract.h \ - SourceFiles/mtproto/connection_auto.h \ - SourceFiles/mtproto/connection_http.h \ - SourceFiles/mtproto/connection_tcp.h \ - SourceFiles/mtproto/core_types.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - SourceFiles/mtproto/scheme_auto.h \ - SourceFiles/mtproto/rsa_public_key.h \ - SourceFiles/mtproto/auth_key.h \ - SourceFiles/mtproto/dcenter.h \ - SourceFiles/mtproto/rpc_sender.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 +GeneratedFiles/Debug/moc_session.cpp: SourceFiles/mtproto/session.h + $(MOC_FILE) SourceFiles/mtproto/session.h -o GeneratedFiles/Debug/moc_session.cpp -GeneratedFiles/Debug/moc_animation.cpp: SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/animation.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/ui/animation.h -o GeneratedFiles/Debug/moc_animation.cpp +GeneratedFiles/Debug/moc_animation.cpp: SourceFiles/ui/animation.h + $(MOC_FILE) SourceFiles/ui/animation.h -o GeneratedFiles/Debug/moc_animation.cpp -GeneratedFiles/Debug/moc_toast_manager.cpp: SourceFiles/ui/toast/toast.h \ - SourceFiles/ui/toast/toast_manager.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/ui/toast/toast_manager.h -o GeneratedFiles/Debug/moc_toast_manager.cpp +GeneratedFiles/Debug/moc_toast_manager.cpp: SourceFiles/ui/toast/toast_manager.h + $(MOC_FILE) SourceFiles/ui/toast/toast_manager.h -o GeneratedFiles/Debug/moc_toast_manager.cpp -GeneratedFiles/Debug/moc_button.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/button.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/ui/button.h -o GeneratedFiles/Debug/moc_button.cpp +GeneratedFiles/Debug/moc_button.cpp: SourceFiles/ui/button.h + $(MOC_FILE) SourceFiles/ui/button.h -o GeneratedFiles/Debug/moc_button.cpp -GeneratedFiles/Debug/moc_popupmenu.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/popupmenu.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/ui/popupmenu.h -o GeneratedFiles/Debug/moc_popupmenu.cpp +GeneratedFiles/Debug/moc_popupmenu.cpp: SourceFiles/ui/popupmenu.h + $(MOC_FILE) SourceFiles/ui/popupmenu.h -o GeneratedFiles/Debug/moc_popupmenu.cpp -GeneratedFiles/Debug/moc_countryinput.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/style.h \ - SourceFiles/ui/flatinput.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/scrollarea.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QScrollArea \ - SourceFiles/ui/flatbutton.h \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/ui/countryinput.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/ui/countryinput.h -o GeneratedFiles/Debug/moc_countryinput.cpp +GeneratedFiles/Debug/moc_countryinput.cpp: SourceFiles/ui/countryinput.h + $(MOC_FILE) SourceFiles/ui/countryinput.h -o GeneratedFiles/Debug/moc_countryinput.cpp -GeneratedFiles/Debug/moc_flatbutton.cpp: SourceFiles/ui/button.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/style.h \ - SourceFiles/ui/flatbutton.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/ui/flatbutton.h -o GeneratedFiles/Debug/moc_flatbutton.cpp +GeneratedFiles/Debug/moc_flatbutton.cpp: SourceFiles/ui/flatbutton.h + $(MOC_FILE) SourceFiles/ui/flatbutton.h -o GeneratedFiles/Debug/moc_flatbutton.cpp -GeneratedFiles/Debug/moc_flatcheckbox.cpp: SourceFiles/ui/button.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.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/ui/flatcheckbox.h -o GeneratedFiles/Debug/moc_flatcheckbox.cpp +GeneratedFiles/Debug/moc_flatcheckbox.cpp: SourceFiles/ui/flatcheckbox.h + $(MOC_FILE) SourceFiles/ui/flatcheckbox.h -o GeneratedFiles/Debug/moc_flatcheckbox.cpp -GeneratedFiles/Debug/moc_flatinput.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ - SourceFiles/ui/style.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/flatinput.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/ui/flatinput.h -o GeneratedFiles/Debug/moc_flatinput.cpp +GeneratedFiles/Debug/moc_flatinput.cpp: SourceFiles/ui/flatinput.h + $(MOC_FILE) SourceFiles/ui/flatinput.h -o GeneratedFiles/Debug/moc_flatinput.cpp -GeneratedFiles/Debug/moc_flatlabel.cpp: SourceFiles/ui/style.h \ - SourceFiles/ui/flatlabel.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/ui/flatlabel.h -o GeneratedFiles/Debug/moc_flatlabel.cpp +GeneratedFiles/Debug/moc_flatlabel.cpp: SourceFiles/ui/flatlabel.h + $(MOC_FILE) SourceFiles/ui/flatlabel.h -o GeneratedFiles/Debug/moc_flatlabel.cpp -GeneratedFiles/Debug/moc_flattextarea.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QTextEdit \ - SourceFiles/ui/style.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/flattextarea.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/ui/flattextarea.h -o GeneratedFiles/Debug/moc_flattextarea.cpp +GeneratedFiles/Debug/moc_flattextarea.cpp: SourceFiles/ui/flattextarea.h + $(MOC_FILE) SourceFiles/ui/flattextarea.h -o GeneratedFiles/Debug/moc_flattextarea.cpp -GeneratedFiles/Debug/moc_scrollarea.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QScrollArea \ - SourceFiles/ui/style.h \ - SourceFiles/ui/scrollarea.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/ui/scrollarea.h -o GeneratedFiles/Debug/moc_scrollarea.cpp +GeneratedFiles/Debug/moc_scrollarea.cpp: SourceFiles/ui/scrollarea.h + $(MOC_FILE) SourceFiles/ui/scrollarea.h -o GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp: SourceFiles/ui/twidget.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/ui/twidget.h -o GeneratedFiles/Debug/moc_twidget.cpp + $(MOC_FILE) SourceFiles/ui/twidget.h -o GeneratedFiles/Debug/moc_twidget.cpp -GeneratedFiles/Debug/moc_aboutbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/aboutbox.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/boxes/aboutbox.h -o GeneratedFiles/Debug/moc_aboutbox.cpp +GeneratedFiles/Debug/moc_aboutbox.cpp: SourceFiles/boxes/aboutbox.h + $(MOC_FILE) SourceFiles/boxes/aboutbox.h -o GeneratedFiles/Debug/moc_aboutbox.cpp -GeneratedFiles/Debug/moc_abstractbox.cpp: SourceFiles/layerwidget.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/abstractbox.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/boxes/abstractbox.h -o GeneratedFiles/Debug/moc_abstractbox.cpp +GeneratedFiles/Debug/moc_abstractbox.cpp: SourceFiles/boxes/abstractbox.h + $(MOC_FILE) SourceFiles/boxes/abstractbox.h -o GeneratedFiles/Debug/moc_abstractbox.cpp -GeneratedFiles/Debug/moc_addcontactbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/addcontactbox.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/boxes/addcontactbox.h -o GeneratedFiles/Debug/moc_addcontactbox.cpp +GeneratedFiles/Debug/moc_addcontactbox.cpp: SourceFiles/boxes/addcontactbox.h + $(MOC_FILE) SourceFiles/boxes/addcontactbox.h -o GeneratedFiles/Debug/moc_addcontactbox.cpp -GeneratedFiles/Debug/moc_autolockbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/autolockbox.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/boxes/autolockbox.h -o GeneratedFiles/Debug/moc_autolockbox.cpp +GeneratedFiles/Debug/moc_autolockbox.cpp: SourceFiles/boxes/autolockbox.h + $(MOC_FILE) SourceFiles/boxes/autolockbox.h -o GeneratedFiles/Debug/moc_autolockbox.cpp -GeneratedFiles/Debug/moc_backgroundbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/backgroundbox.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/boxes/backgroundbox.h -o GeneratedFiles/Debug/moc_backgroundbox.cpp +GeneratedFiles/Debug/moc_backgroundbox.cpp: SourceFiles/boxes/backgroundbox.h + $(MOC_FILE) SourceFiles/boxes/backgroundbox.h -o GeneratedFiles/Debug/moc_backgroundbox.cpp -GeneratedFiles/Debug/moc_confirmbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/confirmbox.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/boxes/confirmbox.h -o GeneratedFiles/Debug/moc_confirmbox.cpp +GeneratedFiles/Debug/moc_confirmbox.cpp: SourceFiles/boxes/confirmbox.h + $(MOC_FILE) SourceFiles/boxes/confirmbox.h -o GeneratedFiles/Debug/moc_confirmbox.cpp -GeneratedFiles/Debug/moc_connectionbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/ui/flatinput.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ - SourceFiles/ui/style.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/boxes/connectionbox.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/boxes/connectionbox.h -o GeneratedFiles/Debug/moc_connectionbox.cpp +GeneratedFiles/Debug/moc_connectionbox.cpp: SourceFiles/boxes/connectionbox.h + $(MOC_FILE) SourceFiles/boxes/connectionbox.h -o GeneratedFiles/Debug/moc_connectionbox.cpp -GeneratedFiles/Debug/moc_contactsbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/contactsbox.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/boxes/contactsbox.h -o GeneratedFiles/Debug/moc_contactsbox.cpp +GeneratedFiles/Debug/moc_contactsbox.cpp: SourceFiles/boxes/contactsbox.h + $(MOC_FILE) SourceFiles/boxes/contactsbox.h -o GeneratedFiles/Debug/moc_contactsbox.cpp -GeneratedFiles/Debug/moc_downloadpathbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/ui/flatinput.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ - SourceFiles/ui/style.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/boxes/downloadpathbox.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/boxes/downloadpathbox.h -o GeneratedFiles/Debug/moc_downloadpathbox.cpp +GeneratedFiles/Debug/moc_downloadpathbox.cpp: SourceFiles/boxes/downloadpathbox.h + $(MOC_FILE) SourceFiles/boxes/downloadpathbox.h -o GeneratedFiles/Debug/moc_downloadpathbox.cpp -GeneratedFiles/Debug/moc_emojibox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/emojibox.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/boxes/emojibox.h -o GeneratedFiles/Debug/moc_emojibox.cpp +GeneratedFiles/Debug/moc_emojibox.cpp: SourceFiles/boxes/emojibox.h + $(MOC_FILE) SourceFiles/boxes/emojibox.h -o GeneratedFiles/Debug/moc_emojibox.cpp -GeneratedFiles/Debug/moc_languagebox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/languagebox.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/boxes/languagebox.h -o GeneratedFiles/Debug/moc_languagebox.cpp +GeneratedFiles/Debug/moc_languagebox.cpp: SourceFiles/boxes/languagebox.h + $(MOC_FILE) SourceFiles/boxes/languagebox.h -o GeneratedFiles/Debug/moc_languagebox.cpp -GeneratedFiles/Debug/moc_passcodebox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/passcodebox.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/boxes/passcodebox.h -o GeneratedFiles/Debug/moc_passcodebox.cpp +GeneratedFiles/Debug/moc_passcodebox.cpp: SourceFiles/boxes/passcodebox.h + $(MOC_FILE) SourceFiles/boxes/passcodebox.h -o GeneratedFiles/Debug/moc_passcodebox.cpp -GeneratedFiles/Debug/moc_photocropbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/photocropbox.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/boxes/photocropbox.h -o GeneratedFiles/Debug/moc_photocropbox.cpp +GeneratedFiles/Debug/moc_photocropbox.cpp: SourceFiles/boxes/photocropbox.h + $(MOC_FILE) SourceFiles/boxes/photocropbox.h -o GeneratedFiles/Debug/moc_photocropbox.cpp -GeneratedFiles/Debug/moc_photosendbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/localimageloader.h \ - SourceFiles/boxes/photosendbox.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/boxes/photosendbox.h -o GeneratedFiles/Debug/moc_photosendbox.cpp +GeneratedFiles/Debug/moc_photosendbox.cpp: SourceFiles/boxes/photosendbox.h + $(MOC_FILE) SourceFiles/boxes/photosendbox.h -o GeneratedFiles/Debug/moc_photosendbox.cpp -GeneratedFiles/Debug/moc_sessionsbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/localimageloader.h \ - SourceFiles/boxes/sessionsbox.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/boxes/sessionsbox.h -o GeneratedFiles/Debug/moc_sessionsbox.cpp +GeneratedFiles/Debug/moc_sessionsbox.cpp: SourceFiles/boxes/sessionsbox.h + $(MOC_FILE) SourceFiles/boxes/sessionsbox.h -o GeneratedFiles/Debug/moc_sessionsbox.cpp -GeneratedFiles/Debug/moc_stickersetbox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/localimageloader.h \ - SourceFiles/boxes/stickersetbox.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/boxes/stickersetbox.h -o GeneratedFiles/Debug/moc_stickersetbox.cpp +GeneratedFiles/Debug/moc_stickersetbox.cpp: SourceFiles/boxes/stickersetbox.h + $(MOC_FILE) SourceFiles/boxes/stickersetbox.h -o GeneratedFiles/Debug/moc_stickersetbox.cpp -GeneratedFiles/Debug/moc_usernamebox.cpp: SourceFiles/boxes/abstractbox.h \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/boxes/usernamebox.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/boxes/usernamebox.h -o GeneratedFiles/Debug/moc_usernamebox.cpp +GeneratedFiles/Debug/moc_usernamebox.cpp:SourceFiles/boxes/usernamebox.h + $(MOC_FILE) SourceFiles/boxes/usernamebox.h -o GeneratedFiles/Debug/moc_usernamebox.cpp -GeneratedFiles/Debug/moc_introwidget.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/flatbutton.h \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/style.h \ - SourceFiles/intro/introwidget.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/intro/introwidget.h -o GeneratedFiles/Debug/moc_introwidget.cpp +GeneratedFiles/Debug/moc_introwidget.cpp: SourceFiles/intro/introwidget.h + $(MOC_FILE) SourceFiles/intro/introwidget.h -o GeneratedFiles/Debug/moc_introwidget.cpp -GeneratedFiles/Debug/moc_introcode.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/flatbutton.h \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/style.h \ - SourceFiles/ui/flatinput.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ - SourceFiles/intro/introwidget.h \ - SourceFiles/intro/introcode.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/intro/introcode.h -o GeneratedFiles/Debug/moc_introcode.cpp +GeneratedFiles/Debug/moc_introcode.cpp: SourceFiles/intro/introcode.h + $(MOC_FILE) SourceFiles/intro/introcode.h -o GeneratedFiles/Debug/moc_introcode.cpp -GeneratedFiles/Debug/moc_introphone.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/flatbutton.h \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/style.h \ - SourceFiles/ui/flatinput.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ - SourceFiles/ui/countryinput.h \ - SourceFiles/ui/scrollarea.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QScrollArea \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/intro/introwidget.h \ - SourceFiles/intro/introphone.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/intro/introphone.h -o GeneratedFiles/Debug/moc_introphone.cpp +GeneratedFiles/Debug/moc_introphone.cpp: SourceFiles/intro/introphone.h + $(MOC_FILE) SourceFiles/intro/introphone.h -o GeneratedFiles/Debug/moc_introphone.cpp -GeneratedFiles/Debug/moc_intropwdcheck.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/flatbutton.h \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/style.h \ - SourceFiles/ui/flatinput.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ - SourceFiles/ui/countryinput.h \ - SourceFiles/ui/scrollarea.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QScrollArea \ - SourceFiles/ui/boxshadow.h \ - SourceFiles/intro/introwidget.h \ - SourceFiles/intro/intropwdcheck.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/intro/intropwdcheck.h -o GeneratedFiles/Debug/moc_intropwdcheck.cpp +GeneratedFiles/Debug/moc_intropwdcheck.cpp: SourceFiles/intro/intropwdcheck.h + $(MOC_FILE) SourceFiles/intro/intropwdcheck.h -o GeneratedFiles/Debug/moc_intropwdcheck.cpp -GeneratedFiles/Debug/moc_introsignup.cpp: ../../Libraries/QtStatic/qtbase/include/QtWidgets/QWidget \ - SourceFiles/ui/flatbutton.h \ - SourceFiles/ui/button.h \ - SourceFiles/ui/twidget.h \ - SourceFiles/ui/flatcheckbox.h \ - SourceFiles/ui/animation.h \ - SourceFiles/core/basic_types.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QReadWriteLock \ - SourceFiles/logs.h \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTimer \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QColor \ - SourceFiles/ui/style.h \ - SourceFiles/ui/flatinput.h \ - ../../Libraries/QtStatic/qtbase/include/QtWidgets/QLineEdit \ - SourceFiles/intro/introwidget.h \ - SourceFiles/intro/introsignup.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/intro/introsignup.h -o GeneratedFiles/Debug/moc_introsignup.cpp +GeneratedFiles/Debug/moc_introsignup.cpp: SourceFiles/intro/introsignup.h + $(MOC_FILE) SourceFiles/intro/introsignup.h -o GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp: SourceFiles/pspecific_mac.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/pspecific_mac.h -o GeneratedFiles/Debug/moc_pspecific_mac.cpp + $(MOC_FILE) SourceFiles/pspecific_mac.h -o GeneratedFiles/Debug/moc_pspecific_mac.cpp compiler_moc_source_make_all: compiler_moc_source_clean: diff --git a/Telegram/build/vc/codegen_style/codegen_style.targets b/Telegram/build/vc/codegen_style/codegen_style.targets index f43879e86..0310b768a 100644 --- a/Telegram/build/vc/codegen_style/codegen_style.targets +++ b/Telegram/build/vc/codegen_style/codegen_style.targets @@ -15,6 +15,6 @@ Inputs="%(CodegenStyleItem.Identity)" Outputs=".\GeneratedFiles\styles\style_%(CodegenStyleItem.Filename).h;.\GeneratedFiles\styles\style_%(CodegenStyleItem.Filename).cpp"> - + From f93e51a93402f0f7fac1fb56df0522b34ad91e37 Mon Sep 17 00:00:00 2001 From: John Preston Date: Thu, 21 Apr 2016 21:18:44 +0300 Subject: [PATCH 14/16] Fixed Xcode build of the new styles. --- Telegram/SourceFiles/pspecific_mac.cpp | 2 +- .../SourceFiles/ui/style/style_core_types.h | 6 ++- Telegram/Telegram.xcodeproj/project.pbxproj | 50 ++++++++++++++++--- 3 files changed, 50 insertions(+), 8 deletions(-) diff --git a/Telegram/SourceFiles/pspecific_mac.cpp b/Telegram/SourceFiles/pspecific_mac.cpp index 66d618bb0..91b2124b1 100644 --- a/Telegram/SourceFiles/pspecific_mac.cpp +++ b/Telegram/SourceFiles/pspecific_mac.cpp @@ -156,7 +156,7 @@ void _placeCounter(QImage &img, int size, int count, style::color bg, style::col skip = 2; fontSize = 16; } - style::font f(fontSize); + style::font f(fontSize, 0, 0); int32 w = f->width(cnt), d, r; if (size == 22) { d = (cntSize < 2) ? 3 : 2; diff --git a/Telegram/SourceFiles/ui/style/style_core_types.h b/Telegram/SourceFiles/ui/style/style_core_types.h index 2ad49014f..bb4296185 100644 --- a/Telegram/SourceFiles/ui/style/style_core_types.h +++ b/Telegram/SourceFiles/ui/style/style_core_types.h @@ -42,7 +42,11 @@ class Sprite { public: Sprite() { } - Sprite(int left, int top, int width, int height) : _rect(rtl() ? (spriteWidth() - left - width) : left, top, width, height) { + Sprite(int left, int top, int width, int height) + : _rect(rtl() ? (spriteWidth() - left * cIntRetinaFactor() - width * cIntRetinaFactor()) : left * cIntRetinaFactor(), + top * cIntRetinaFactor(), + width * cIntRetinaFactor(), + height * cIntRetinaFactor()) { } int pxWidth() const { return _rect.width() / cIntRetinaFactor(); diff --git a/Telegram/Telegram.xcodeproj/project.pbxproj b/Telegram/Telegram.xcodeproj/project.pbxproj index 81c82dd96..f24441e5e 100644 --- a/Telegram/Telegram.xcodeproj/project.pbxproj +++ b/Telegram/Telegram.xcodeproj/project.pbxproj @@ -84,6 +84,11 @@ 077A4B041CA41EE2002188D2 /* moc_connection_auto.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4B001CA41EE2002188D2 /* moc_connection_auto.cpp */; }; 077A4B051CA41EE2002188D2 /* moc_connection_http.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4B011CA41EE2002188D2 /* moc_connection_http.cpp */; }; 077A4B061CA41EE2002188D2 /* moc_connection_tcp.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 077A4B021CA41EE2002188D2 /* moc_connection_tcp.cpp */; }; + 078500341CC94D1900168DBB /* style_core_color.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0785002C1CC94D1900168DBB /* style_core_color.cpp */; }; + 078500351CC94D1900168DBB /* style_core_font.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0785002E1CC94D1900168DBB /* style_core_font.cpp */; }; + 078500361CC94D1900168DBB /* style_core_icon.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 078500301CC94D1900168DBB /* style_core_icon.cpp */; }; + 078500371CC94D1900168DBB /* style_core_types.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 078500321CC94D1900168DBB /* style_core_types.cpp */; }; + 0785003A1CC94D9600168DBB /* style_overview.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 078500381CC94D9600168DBB /* style_overview.cpp */; }; 078A2FCA1A811C5900CCC7A0 /* moc_backgroundbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 078A2FC91A811C5900CCC7A0 /* moc_backgroundbox.cpp */; }; 078A2FCD1A811CA600CCC7A0 /* backgroundbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 078A2FCB1A811CA600CCC7A0 /* backgroundbox.cpp */; }; 07A69332199277BA0099CB9F /* mediaview.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07A69330199277BA0099CB9F /* mediaview.cpp */; }; @@ -408,6 +413,16 @@ 077A4B001CA41EE2002188D2 /* moc_connection_auto.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_connection_auto.cpp; path = GeneratedFiles/Debug/moc_connection_auto.cpp; sourceTree = SOURCE_ROOT; }; 077A4B011CA41EE2002188D2 /* moc_connection_http.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_connection_http.cpp; path = GeneratedFiles/Debug/moc_connection_http.cpp; sourceTree = SOURCE_ROOT; }; 077A4B021CA41EE2002188D2 /* moc_connection_tcp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_connection_tcp.cpp; path = GeneratedFiles/Debug/moc_connection_tcp.cpp; sourceTree = SOURCE_ROOT; }; + 0785002C1CC94D1900168DBB /* style_core_color.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = style_core_color.cpp; path = SourceFiles/ui/style/style_core_color.cpp; sourceTree = SOURCE_ROOT; }; + 0785002D1CC94D1900168DBB /* style_core_color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = style_core_color.h; path = SourceFiles/ui/style/style_core_color.h; sourceTree = SOURCE_ROOT; }; + 0785002E1CC94D1900168DBB /* style_core_font.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = style_core_font.cpp; path = SourceFiles/ui/style/style_core_font.cpp; sourceTree = SOURCE_ROOT; }; + 0785002F1CC94D1900168DBB /* style_core_font.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = style_core_font.h; path = SourceFiles/ui/style/style_core_font.h; sourceTree = SOURCE_ROOT; }; + 078500301CC94D1900168DBB /* style_core_icon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = style_core_icon.cpp; path = SourceFiles/ui/style/style_core_icon.cpp; sourceTree = SOURCE_ROOT; }; + 078500311CC94D1900168DBB /* style_core_icon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = style_core_icon.h; path = SourceFiles/ui/style/style_core_icon.h; sourceTree = SOURCE_ROOT; }; + 078500321CC94D1900168DBB /* style_core_types.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = style_core_types.cpp; path = SourceFiles/ui/style/style_core_types.cpp; sourceTree = SOURCE_ROOT; }; + 078500331CC94D1900168DBB /* style_core_types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = style_core_types.h; path = SourceFiles/ui/style/style_core_types.h; sourceTree = SOURCE_ROOT; }; + 078500381CC94D9600168DBB /* style_overview.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = style_overview.cpp; path = GeneratedFiles/styles/style_overview.cpp; sourceTree = SOURCE_ROOT; }; + 078500391CC94D9600168DBB /* style_overview.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = style_overview.h; path = GeneratedFiles/styles/style_overview.h; sourceTree = SOURCE_ROOT; }; 078A2FC91A811C5900CCC7A0 /* moc_backgroundbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_backgroundbox.cpp; path = GeneratedFiles/Debug/moc_backgroundbox.cpp; sourceTree = SOURCE_ROOT; }; 078A2FCB1A811CA600CCC7A0 /* backgroundbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = backgroundbox.cpp; path = SourceFiles/boxes/backgroundbox.cpp; sourceTree = SOURCE_ROOT; }; 078A2FCC1A811CA600CCC7A0 /* backgroundbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = backgroundbox.h; path = SourceFiles/boxes/backgroundbox.h; sourceTree = SOURCE_ROOT; }; @@ -818,10 +833,12 @@ 0747FF791CC6434300096FC3 /* styles */ = { isa = PBXGroup; children = ( - 0747FF7A1CC6435100096FC3 /* style_basic_types.cpp */, - 0747FF7B1CC6435100096FC3 /* style_basic_types.h */, 0747FF7C1CC6435100096FC3 /* style_basic.cpp */, 0747FF7D1CC6435100096FC3 /* style_basic.h */, + 0747FF7A1CC6435100096FC3 /* style_basic_types.cpp */, + 0747FF7B1CC6435100096FC3 /* style_basic_types.h */, + 078500381CC94D9600168DBB /* style_overview.cpp */, + 078500391CC94D9600168DBB /* style_overview.h */, ); name = styles; sourceTree = ""; @@ -908,6 +925,23 @@ name = Resources; sourceTree = ""; }; + 0785002B1CC94CF500168DBB /* style */ = { + isa = PBXGroup; + children = ( + 420A06A32B66D250142B4B6D /* style_core.cpp */, + 0FC38EE7F29EF895925A2C49 /* style_core.h */, + 0785002C1CC94D1900168DBB /* style_core_color.cpp */, + 0785002D1CC94D1900168DBB /* style_core_color.h */, + 0785002E1CC94D1900168DBB /* style_core_font.cpp */, + 0785002F1CC94D1900168DBB /* style_core_font.h */, + 078500301CC94D1900168DBB /* style_core_icon.cpp */, + 078500311CC94D1900168DBB /* style_core_icon.h */, + 078500321CC94D1900168DBB /* style_core_types.cpp */, + 078500331CC94D1900168DBB /* style_core_types.h */, + ); + name = style; + sourceTree = ""; + }; 07B816FF1CB9A219006F7869 /* dialogs */ = { isa = PBXGroup; children = ( @@ -1016,8 +1050,9 @@ 579DA7AEF5751DF4988869A0 /* ui */ = { isa = PBXGroup; children = ( - 076B1C471CBFBEB4002C0BC2 /* text */, 07E373901CBBBFDE00934F77 /* buttons */, + 0785002B1CC94CF500168DBB /* style */, + 076B1C471CBFBEB4002C0BC2 /* text */, 07C8FE071CB80884007A8702 /* toast */, D3FE9C29B6A61D7C3C4B731B /* animation.cpp */, 85FABD67716E36CD8B3CA4FA /* animation.h */, @@ -1047,8 +1082,6 @@ 0F8FFD87AEBAC448568570DC /* images.h */, 6E1859D714E4471E053D90C9 /* scrollarea.cpp */, 83A36F229E897566E011B79E /* scrollarea.h */, - 420A06A32B66D250142B4B6D /* style_core.cpp */, - 0FC38EE7F29EF895925A2C49 /* style_core.h */, BB1602EA641643DE565005B1 /* twidget.cpp */, 507CCEEC4CBA3E3BD6EEDED1 /* twidget.h */, ); @@ -1509,7 +1542,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "./../Mac/codegen/$CONFIGURATION/codegen_style \"-I./SourceFiles\" \"-o./GeneratedFiles/styles\" ./Resources/all_files.style --rebuild"; + shellScript = "./../Mac/codegen/$CONFIGURATION/codegen_style \"-I./Resources\" \"-I./SourceFiles\" \"-o./GeneratedFiles/styles\" ./Resources/all_files.style --rebuild"; }; 0747FF801CC6437300096FC3 /* Generate numbers */ = { isa = PBXShellScriptBuildPhase; @@ -1616,6 +1649,7 @@ 4078D5D614EB3ECF7F1848C7 /* basic_types.cpp in Compile Sources */, 68FFEB7CA30BF0149161B809 /* mainwindow.cpp in Compile Sources */, 0CB7DE9A54CC9BF86FB7B5CA /* facade.cpp in Compile Sources */, + 078500341CC94D1900168DBB /* style_core_color.cpp in Compile Sources */, 076B1C5B1CBFC8F1002C0BC2 /* top_bar_widget.cpp in Compile Sources */, DF259E9677CC63AF8754032B /* connection.cpp in Compile Sources */, 074FCB9119D36E60004C6EB2 /* moc_popupmenu.cpp in Compile Sources */, @@ -1698,6 +1732,7 @@ 07DE92A71AA4925B00A18F6F /* autolockbox.cpp in Compile Sources */, 07D8509919F8320900623D75 /* usernamebox.cpp in Compile Sources */, 0747FF7E1CC6435100096FC3 /* style_basic_types.cpp in Compile Sources */, + 078500351CC94D1900168DBB /* style_core_font.cpp in Compile Sources */, A469EC9C4C367E0B773A9BB7 /* moc_settingswidget.cpp in Compile Sources */, FD2FE0C564A7389A2E609EC7 /* moc_sysbuttons.cpp in Compile Sources */, E97B3CFAB59B49BACFFC5F7C /* moc_title.cpp in Compile Sources */, @@ -1711,6 +1746,7 @@ B780F9E21269259B90A1F32A /* moc_dcenter.cpp in Compile Sources */, 07080BCF1A43588C00741A51 /* lang_auto.cpp in Compile Sources */, 07539B1D1A1416AF00083EFC /* moc_history.cpp in Compile Sources */, + 0785003A1CC94D9600168DBB /* style_overview.cpp in Compile Sources */, 07C8FE121CB80915007A8702 /* moc_toast_manager.cpp in Compile Sources */, 0747FF851CC6458B00096FC3 /* numbers.cpp in Compile Sources */, 077A4AFC1CA41C38002188D2 /* rsa_public_key.cpp in Compile Sources */, @@ -1732,6 +1768,7 @@ 0710C9FE1B0B9376001B4272 /* stickersetbox.cpp in Compile Sources */, 076B1C4E1CBFBF59002C0BC2 /* text_entity.cpp in Compile Sources */, 0764D55D1ABAD71B00FBFEED /* moc_apiwrap.cpp in Compile Sources */, + 078500371CC94D1900168DBB /* style_core_types.cpp in Compile Sources */, 0752F8701C2C84470026D0BC /* layout.cpp in Compile Sources */, 07DE92AD1AA4928B00A18F6F /* moc_passcodebox.cpp in Compile Sources */, FCC949FEA178F9F5D7478027 /* moc_flattextarea.cpp in Compile Sources */, @@ -1740,6 +1777,7 @@ 60CB4898955209B665E7B07D /* moc_twidget.cpp in Compile Sources */, 077A4B051CA41EE2002188D2 /* moc_connection_http.cpp in Compile Sources */, 07B8170A1CB9A235006F7869 /* dialogs_layout.cpp in Compile Sources */, + 078500361CC94D1900168DBB /* style_core_icon.cpp in Compile Sources */, 7062978F12EEA525893A5E6F /* moc_aboutbox.cpp in Compile Sources */, E8B28580819B882A5964561A /* moc_addcontactbox.cpp in Compile Sources */, 07B604321B46A0EC00CA29FE /* playerwidget.cpp in Compile Sources */, From d20c370ccc0c3bc21a87697a991b8dd522afdb71 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 22 Apr 2016 10:25:14 +0300 Subject: [PATCH 15/16] MetaStyle project removed, added -static-libstdc++ for linux build. --- .travis/build.sh | 19 +- README.md | 24 +- Telegram/MetaStyle.pro | 33 - Telegram/MetaStyle.vcxproj | 177 -- Telegram/MetaStyle.vcxproj.filters | 63 - Telegram/MetaStyle.xcodeproj/project.pbxproj | 848 ------- .../MetaStyle.xcodeproj/qt_preprocess.mak | 67 - Telegram/SourceFiles/_other/genstyles.cpp | 2015 ----------------- Telegram/SourceFiles/_other/genstyles.h | 78 - Telegram/SourceFiles/_other/msmain.cpp | 64 - Telegram/SourceFiles/_other/msmain.h | 23 - Telegram/Style.plist | 20 - Telegram/Telegram.pro | 20 +- doc/building-qmake.md | 14 +- doc/building-qtcreator.md | 14 +- doc/building-xcode-old.md | 3 +- doc/building-xcode.md | 1 - 17 files changed, 57 insertions(+), 3426 deletions(-) delete mode 100644 Telegram/MetaStyle.pro delete mode 100644 Telegram/MetaStyle.vcxproj delete mode 100644 Telegram/MetaStyle.vcxproj.filters delete mode 100644 Telegram/MetaStyle.xcodeproj/project.pbxproj delete mode 100644 Telegram/MetaStyle.xcodeproj/qt_preprocess.mak delete mode 100644 Telegram/SourceFiles/_other/genstyles.cpp delete mode 100644 Telegram/SourceFiles/_other/genstyles.h delete mode 100644 Telegram/SourceFiles/_other/msmain.cpp delete mode 100644 Telegram/SourceFiles/_other/msmain.h delete mode 100644 Telegram/Style.plist diff --git a/.travis/build.sh b/.travis/build.sh index 7deae1f95..157739889 100755 --- a/.travis/build.sh +++ b/.travis/build.sh @@ -114,12 +114,19 @@ build() { ./configure make --silent - info_msg "Build MetaStyle" - # Build MetaStyle - mkdir -p "$srcdir/tdesktop/Linux/DebugIntermediateStyle" - cd "$srcdir/tdesktop/Linux/DebugIntermediateStyle" - qmake CONFIG+=debug "../../Telegram/MetaStyle.pro" - make --silent + info_msg "Build codegen_style" + # Build codegen_style + mkdir -p "$srcdir/tdesktop/Linux/obj/codegen_style/Debug" + cd "$srcdir/tdesktop/Linux/obj/codegen_style/Debug" + qmake CONFIG+=debug "../../../../Telegram/build/qmake/codegen_style/codegen_style.pro" + make --silent + + info_msg "Build codegen_numbers" + # Build codegen_numbers + mkdir -p "$srcdir/tdesktop/Linux/obj/codegen_numbers/Debug" + cd "$srcdir/tdesktop/Linux/obj/codegen_numbers/Debug" + qmake CONFIG+=debug "../../../../Telegram/build/qmake/codegen_numbers/codegen_numbers.pro" + make --silent info_msg "Build MetaLang" # Build MetaLang diff --git a/README.md b/README.md index 32398eb24..fd3541051 100644 --- a/README.md +++ b/README.md @@ -32,8 +32,8 @@ The source code is published under GPLv3 with OpenSSL exception, the license is ## Build instructions * [Visual Studio 2015][msvc] -* [XCode 7][xcode] -* [XCode 7 for OS X 10.6 and 10.7][xcode_old] +* [Xcode 7][xcode] +* [Xcode 7 for OS X 10.6 and 10.7][xcode_old] * [Qt Creator 3.5.1 Ubuntu][qtcreator] * [Using qmake on GNU/Linux][qmake] @@ -61,24 +61,10 @@ The source code is published under GPLv3 with OpenSSL exception, the license is * SourceFiles/art/emoji_250x.png * SourceFiles/gui/emoji_config.cpp -* ### MetaStyle +* ### codegen_style +* ### codegen_numbers - From two files and two sprites - * Resources/style_classes.txt - * Resources/style.txt - * SourceFiles/art/sprite.png - * SourceFiles/art/sprite_200x.png - - Creates two other sprites, four sprite grids and style constants code - * SourceFiles/art/sprite_125x.png - * SourceFiles/art/sprite_150x.png - * SourceFiles/art/grid.png - * SourceFiles/art/grid_125x.png - * SourceFiles/art/grid_150x.png - * SourceFiles/art/grid_200x.png - * GeneratedFiles/style_classes.h - * GeneratedFiles/style_auto.h - * GeneratedFiles/style_auto.cpp + Helper code generating console utilities. * ### MetaLang diff --git a/Telegram/MetaStyle.pro b/Telegram/MetaStyle.pro deleted file mode 100644 index a68a44385..000000000 --- a/Telegram/MetaStyle.pro +++ /dev/null @@ -1,33 +0,0 @@ -QT += core - -CONFIG(debug, debug|release) { - DEFINES += _DEBUG - OBJECTS_DIR = ./../DebugIntermediateStyle - MOC_DIR = ./GeneratedFiles/Debug - DESTDIR = ./../DebugStyle -} -CONFIG(release, debug|release) { - OBJECTS_DIR = ./../ReleaseIntermediateStyle - MOC_DIR = ./GeneratedFiles/Release - DESTDIR = ./../ReleaseStyle -} - -CONFIG += plugin static c++11 - -macx { - QMAKE_INFO_PLIST = ./SourceFiles/_other/Style.plist - QMAKE_LFLAGS += -framework Cocoa -} - -SOURCES += \ - ./SourceFiles/_other/msmain.cpp \ - ./SourceFiles/_other/genstyles.cpp \ - -HEADERS += \ - ./SourceFiles/_other/msmain.h \ - ./SourceFiles/_other/genstyles.h \ - -INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.1/QtGui\ - ./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.1/QtCore\ - ./../../Libraries/QtStatic/qtbase/include\ - diff --git a/Telegram/MetaStyle.vcxproj b/Telegram/MetaStyle.vcxproj deleted file mode 100644 index d0562882d..000000000 --- a/Telegram/MetaStyle.vcxproj +++ /dev/null @@ -1,177 +0,0 @@ - - - - - Debug - Win32 - - - Deploy - Win32 - - - Release - Win32 - - - - - - true - true - - - true - true - - - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - Moc%27ing genstyles.h... - .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." - Moc%27ing genstyles.h... - Moc%27ing genstyles.h... - .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." - "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - $(QTDIR)\bin\moc.exe;%(FullPath) - - - - {6F483617-7C84-4E7E-91D8-1FF28A4CE3A0} - Qt4VSv1.0 - - - - Application - v140_xp - - - Application - v140_xp - - - Application - v140_xp - - - - - - - - - - - - - - - - <_ProjectFileVersion>11.0.60610.1 - - - $(SolutionDir)$(Platform)\$(Configuration)IntermediateStyle\ - $(SolutionDir)$(Platform)\$(Configuration)Style\ - - - $(SolutionDir)$(Platform)\$(Configuration)Style\ - $(SolutionDir)$(Platform)\$(Configuration)IntermediateStyle\ - - - $(SolutionDir)$(Platform)\$(Configuration)Style\ - $(SolutionDir)$(Platform)\$(Configuration)IntermediateStyle\ - - - - UNICODE;WIN32;WIN64;%(PreprocessorDefinitions) - Disabled - ProgramDatabase - MultiThreadedDebug - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories) - false - - - Console - $(OutDir)\$(ProjectName).exe - $(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories) - kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;qtharfbuzzngd.lib;qtpcred.lib;qtfreetyped.lib;Qt5Widgetsd.lib;Qt5Networkd.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies) - true - $(IntDir)$(TargetName).pdb - $(IntDir)$(TargetName).pgd - - - - - - UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions) - - MultiThreaded - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories) - false - - - Console - $(OutDir)\$(ProjectName).exe - $(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories) - kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies) - false - - - - - UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions) - - - MultiThreaded - .;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories) - false - - - Console - $(OutDir)\$(ProjectName).exe - $(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories) - kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies) - false - - - - - - - - - - - \ No newline at end of file diff --git a/Telegram/MetaStyle.vcxproj.filters b/Telegram/MetaStyle.vcxproj.filters deleted file mode 100644 index 4484e382c..000000000 --- a/Telegram/MetaStyle.vcxproj.filters +++ /dev/null @@ -1,63 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;cxx;c;def - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h - - - {D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E} - qrc;* - false - - - {71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11} - moc;h;cpp - False - - - {1ace0630-c46a-4299-a4c3-d155a4cb04bb} - cpp;moc - False - - - {2473bf06-b2ba-4f68-9bfe-72a58da61f94} - cpp;moc - False - - - {5366361d-c2b2-4ae4-929f-05d2d9f43860} - cpp;moc - False - - - - - Source Files - - - Source Files - - - Generated Files\Deploy - - - Generated Files\Debug - - - Generated Files\Release - - - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/Telegram/MetaStyle.xcodeproj/project.pbxproj b/Telegram/MetaStyle.xcodeproj/project.pbxproj deleted file mode 100644 index 6d7546ca2..000000000 --- a/Telegram/MetaStyle.xcodeproj/project.pbxproj +++ /dev/null @@ -1,848 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXAggregateTarget section */ - 5E275BA59C8BA5B561E14CF4 /* Preprocess */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaStyle" */; - buildPhases = ( - 07C3AF43194CCD0F0016CFF1 /* ShellScript */, - 7EF0942E79C014DCEC8976BC /* Qt Preprocessors */, - ); - dependencies = ( - ); - name = Preprocess; - productName = "Qt Preprocess"; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 07D795491B5544B200DE9598 /* qtpcre */; }; - 1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DBF506D10449BFABD45B82DA /* Qt5PrintSupport */; }; - 1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */; }; - 328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DFD7912080BC557230093752 /* ApplicationServices.framework */; }; - 3D6772E35214B81E50791089 /* genstyles.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = F8BC976260B6D624F23C32D6 /* genstyles.cpp */; settings = {ATTRIBUTES = (); }; }; - 496FD9CEEB508016AFB9F928 /* qico in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8F500B5166907B6D9A7C3E3D /* qico */; }; - 59789101736112A570B8EFE6 /* qjp2 in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = F0681BC551FC8A2B132FC646 /* qjp2 */; }; - 668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9742F24EE18EA44D52824F1E /* CoreServices.framework */; }; - 728CDDB7D7F2B9FF141651AD /* msmain.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = EF5243ECB3132AF2796F09DF /* msmain.cpp */; settings = {ATTRIBUTES = (); }; }; - 7CA5405B8503BFFC60932D2B /* qicns in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 31120EDB269DFF13E1D49847 /* qicns */; }; - 7F76437B577F737145996DC3 /* qtga in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DCEFD9167C239650120B0145 /* qtga */; }; - 8771A8C96E9C391044035D99 /* OpenGL.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D4B32C2222F82AC56BADEB21 /* OpenGL.framework */; }; - 8D267F2E4776F0ECA2F49DC8 /* IOKit.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = A1A67BEAA744704B29168D39 /* IOKit.framework */; }; - 8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D6193B79CECC9DD0142D1200 /* qtharfbuzzng */; }; - 9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 04391BE7A8B9D811E255100A /* Qt5Gui */; }; - A3F8F2284013928A02AE5C38 /* qwbmp in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8CF51323544B886B8F4A2232 /* qwbmp */; }; - A9563D9C9FD0D76FAAF1CA96 /* qdds in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D3D1BE0BEA3AEE0551AD39AC /* qdds */; }; - B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 5A80A1907B6CFFB524C1E57D /* Qt5Core */; }; - BE6AB9DF1C4880624131C669 /* Qt5Widgets in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 4689C06178B60B84E7F3A3B7 /* Qt5Widgets */; }; - C06DDE378A7AC1FA9E6FF69A /* qtiff in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = F2453BA07315EB9F34F1CD57 /* qtiff */; }; - CBF24309A148222794F28401 /* moc_genstyles.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 861D2151FB56504EB72BDB6E /* moc_genstyles.cpp */; settings = {ATTRIBUTES = (); }; }; - D1FA8AF31837B51C762A9D4D /* qcocoa in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D53D8E6A188E05078A114294 /* qcocoa */; }; - D22929A2B8C5281567FCACDC /* Qt5PlatformSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */; }; - E45E51A644D5FC9F942ECE55 /* AGL.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */; }; - F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = FCC237CA5AD60B9BA4447615 /* Foundation.framework */; }; - F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = ADC6308023253CEA51F86E21 /* qwebp */; }; - F8B465CE34D8DF87AAE95913 /* CoreFoundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */; }; - F8ED42CF8679BF83227DAFC4 /* Carbon.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9DFF62A901D70814B8A323D4 /* Carbon.framework */; }; - FBD56E2AC34F76BFFDB68619 /* qmng in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 83D37373949868693FB7816D /* qmng */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 0746FEAC193D006900F5C3FD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6DB9C3763D02B1415CD9D565 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 5E275BA59C8BA5B561E14CF4; - remoteInfo = "Qt Preprocess"; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.5.1/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - 060A694B42A4555240009936 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = ""; }; - 075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = ""; }; - 07D795491B5544B200DE9598 /* qtpcre */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtpcre; path = "usr/local/Qt-5.5.1/lib/libqtpcre$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - 0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.1/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/common/unix.conf"; sourceTree = ""; }; - 10F719DFC6D0B05605ED1C16 /* MetaStyle.pro */ = {isa = PBXFileReference; lastKnownFileType = text; path = MetaStyle.pro; sourceTree = ""; }; - 111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = ""; }; - 16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quick.pri"; sourceTree = ""; }; - 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 = ""; }; - 23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_gui.pri"; sourceTree = ""; }; - 2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = ""; }; - 247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = ""; }; - 24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = ""; }; - 28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = ""; }; - 293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_network.pri"; sourceTree = ""; }; - 2CBD32689B153445ED220FAE /* MetaStyle.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MetaStyle.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 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 = ""; }; - 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 = ""; }; - 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 = ""; }; - 31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - 33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = ""; }; - 346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = ""; }; - 360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = ""; }; - 3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = ""; }; - 382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = ""; }; - 3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = ""; }; - 45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.1/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/common/gcc-base.conf"; sourceTree = ""; }; - 45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = ""; }; - 4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.5.1/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - 4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = ""; }; - 4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = ""; }; - 4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = ""; }; - 5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = ""; }; - 5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.5.1/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - 5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = ""; }; - 5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = ""; }; - 5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = ""; }; - 6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = ""; }; - 63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.1/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/macx-clang/qmake.conf"; sourceTree = ""; }; - 669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.1/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/common/shell-unix.conf"; sourceTree = ""; }; - 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 = ""; }; - 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 = ""; }; - 6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.1/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/qdevice.pri"; sourceTree = ""; }; - 6FF81CB4A724CE1990CEE99A /* msmain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = msmain.h; path = SourceFiles/_other/msmain.h; sourceTree = ""; }; - 74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = ""; }; - 77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = ""; }; - 7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = ""; }; - 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 = ""; }; - 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 = ""; }; - 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 = ""; }; - 7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_core.pri"; sourceTree = ""; }; - 817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.1/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/common/macx.conf"; sourceTree = ""; }; - 82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = ""; }; - 83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - 85061B1DA49D125991117950 /* /usr/local/Qt-5.5.1/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/macx-xcode/qmake.conf"; sourceTree = ""; }; - 85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = ""; }; - 861D2151FB56504EB72BDB6E /* moc_genstyles.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_genstyles.cpp; path = GeneratedFiles/Debug/moc_genstyles.cpp; sourceTree = ""; }; - 87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = ""; }; - 87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = ""; }; - 8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = ""; }; - 892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = ""; }; - 89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = ""; }; - 8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = ""; }; - 8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = ""; }; - 8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = ""; }; - 8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.1/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/common/clang.conf"; sourceTree = ""; }; - 8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - 8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = ""; }; - 8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = ""; }; - 8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = ""; }; - 8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - 8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = ""; }; - 8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = ""; }; - 946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = ""; }; - 9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = ""; }; - 9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = ""; }; - 9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; - A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = ""; }; - A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = ""; }; - A35D133D7C0EFB42FA85D194 /* genstyles.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = genstyles.h; path = SourceFiles/_other/genstyles.h; sourceTree = ""; }; - A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = ""; }; - A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = ""; }; - A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = ""; }; - A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.1/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/common/gcc-base-mac.conf"; sourceTree = ""; }; - AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xml.pri"; sourceTree = ""; }; - AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = ""; }; - AB745978DF0F41D1801ABDA6 /* .qmake.stash */ = {isa = PBXFileReference; lastKnownFileType = file; path = .qmake.stash; sourceTree = ""; }; - ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = ""; }; - ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = ""; }; - ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_svg.pri"; sourceTree = ""; }; - AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; - AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = ""; }; - B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = ""; }; - B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = ""; }; - B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = ""; }; - B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qml.pri"; sourceTree = ""; }; - B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = ""; }; - B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = ""; }; - B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = ""; }; - B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = ""; }; - B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = ""; }; - BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = ""; }; - BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = ""; }; - BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = ""; }; - BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = ""; }; - C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = ""; }; - C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = ""; }; - 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 = ""; }; - 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 = ""; }; - CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = ""; }; - CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = ""; }; - CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_script.pri"; sourceTree = ""; }; - CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = ""; }; - D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = ""; }; - D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = ""; }; - D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = ""; }; - D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - D4B32C2222F82AC56BADEB21 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = ""; }; - D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.1/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/qconfig.pri"; sourceTree = ""; }; - D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = ""; }; - D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.5.1/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.5.1/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = ""; }; - D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = ""; }; - D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = ""; }; - DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = ""; }; - DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.5.1/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = ""; }; - DFD7912080BC557230093752 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = ""; }; - E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = ""; }; - E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = ""; }; - E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = ""; }; - E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = ""; }; - E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = ""; }; - E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.5.1/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = ""; }; - EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = ""; }; - EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = ""; }; - EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = ""; }; - EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.1/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/common/mac.conf"; sourceTree = ""; }; - EF5243ECB3132AF2796F09DF /* msmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = msmain.cpp; path = SourceFiles/_other/msmain.cpp; sourceTree = ""; }; - F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = ""; }; - F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.5.1/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = ""; }; - F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designer.pri"; sourceTree = ""; }; - F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.1/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/common/clang-mac.conf"; sourceTree = ""; }; - F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = ""; }; - F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = ""; }; - F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = ""; }; - F8BC976260B6D624F23C32D6 /* genstyles.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = genstyles.cpp; path = SourceFiles/_other/genstyles.cpp; sourceTree = ""; }; - F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = ""; }; - FCC237CA5AD60B9BA4447615 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_help.pri"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - D1C883685E82D5676953459A /* Link Binary With Libraries */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */, - 328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */, - 668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */, - F8B465CE34D8DF87AAE95913 /* CoreFoundation.framework in Link Binary With Libraries */, - F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */, - 8771A8C96E9C391044035D99 /* OpenGL.framework in Link Binary With Libraries */, - E45E51A644D5FC9F942ECE55 /* AGL.framework in Link Binary With Libraries */, - D1FA8AF31837B51C762A9D4D /* qcocoa in Link Binary With Libraries */, - F8ED42CF8679BF83227DAFC4 /* Carbon.framework in Link Binary With Libraries */, - 8D267F2E4776F0ECA2F49DC8 /* IOKit.framework in Link Binary With Libraries */, - 1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */, - D22929A2B8C5281567FCACDC /* Qt5PlatformSupport in Link Binary With Libraries */, - BE6AB9DF1C4880624131C669 /* Qt5Widgets in Link Binary With Libraries */, - A9563D9C9FD0D76FAAF1CA96 /* qdds in Link Binary With Libraries */, - 7CA5405B8503BFFC60932D2B /* qicns in Link Binary With Libraries */, - 496FD9CEEB508016AFB9F928 /* qico in Link Binary With Libraries */, - 59789101736112A570B8EFE6 /* qjp2 in Link Binary With Libraries */, - FBD56E2AC34F76BFFDB68619 /* qmng in Link Binary With Libraries */, - 7F76437B577F737145996DC3 /* qtga in Link Binary With Libraries */, - C06DDE378A7AC1FA9E6FF69A /* qtiff in Link Binary With Libraries */, - A3F8F2284013928A02AE5C38 /* qwbmp in Link Binary With Libraries */, - F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */, - 9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */, - 8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */, - 07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */, - B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */, - ); - name = "Link Binary With Libraries"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 25B08E2869634E9BCBA333A2 /* Generated Sources */ = { - isa = PBXGroup; - children = ( - D0B536A85E53302E4F66CE23 /* GeneratedFiles */, - ); - name = "Generated Sources"; - sourceTree = ""; - }; - 2EB56BE3C2D93CDAB0C52E67 /* Sources */ = { - isa = PBXGroup; - children = ( - 73F2E45FDEB381A085D37A49 /* SourceFiles */, - ); - name = Sources; - sourceTree = ""; - }; - 31562E815E3DF5B1A777D3EF /* _other */ = { - isa = PBXGroup; - children = ( - EF5243ECB3132AF2796F09DF /* msmain.cpp */, - F8BC976260B6D624F23C32D6 /* genstyles.cpp */, - 6FF81CB4A724CE1990CEE99A /* msmain.h */, - A35D133D7C0EFB42FA85D194 /* genstyles.h */, - ); - name = _other; - sourceTree = ""; - }; - 73F2E45FDEB381A085D37A49 /* SourceFiles */ = { - isa = PBXGroup; - children = ( - 31562E815E3DF5B1A777D3EF /* _other */, - ); - name = SourceFiles; - sourceTree = ""; - }; - 74B182DB50CB5611B5C1C297 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 10F719DFC6D0B05605ED1C16 /* MetaStyle.pro */, - 6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.1/mkspecs/qdevice.pri */, - 669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.1/mkspecs/common/shell-unix.conf */, - 0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.1/mkspecs/common/unix.conf */, - EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.1/mkspecs/common/mac.conf */, - 817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.1/mkspecs/common/macx.conf */, - 45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.1/mkspecs/common/gcc-base.conf */, - A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.1/mkspecs/common/gcc-base-mac.conf */, - 8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.1/mkspecs/common/clang.conf */, - F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.1/mkspecs/common/clang-mac.conf */, - D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.1/mkspecs/qconfig.pri */, - ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bluetooth.pri */, - 2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bluetooth_private.pri */, - BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_bootstrap_private.pri */, - CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_clucene_private.pri */, - 77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_concurrent.pri */, - 7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_concurrent_private.pri */, - 7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_core.pri */, - 5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_core_private.pri */, - 7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_declarative.pri */, - 89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_declarative_private.pri */, - F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designer.pri */, - 7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designer_private.pri */, - 69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_designercomponents_private.pri */, - 360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_enginio.pri */, - 4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_enginio_private.pri */, - 23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_gui.pri */, - D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_gui_private.pri */, - FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_help.pri */, - D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_help_private.pri */, - A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_macextras.pri */, - 33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_macextras_private.pri */, - D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimedia.pri */, - E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimedia_private.pri */, - 28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimediawidgets.pri */, - D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_multimediawidgets_private.pri */, - 293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_network.pri */, - 382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_network_private.pri */, - 8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_nfc.pri */, - B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_nfc_private.pri */, - 5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_opengl.pri */, - E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_opengl_private.pri */, - E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_openglextensions.pri */, - 5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_openglextensions_private.pri */, - 8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_platformsupport_private.pri */, - F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_positioning.pri */, - E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_positioning_private.pri */, - 6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_printsupport.pri */, - D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_printsupport_private.pri */, - B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qml.pri */, - 6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qml_private.pri */, - 4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmldevtools_private.pri */, - DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmltest.pri */, - ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qmltest_private.pri */, - 5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */, - 16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quick.pri */, - 8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quick_private.pri */, - 82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickparticles_private.pri */, - D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickwidgets.pri */, - B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_quickwidgets_private.pri */, - CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_script.pri */, - C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_script_private.pri */, - CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_scripttools.pri */, - A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_scripttools_private.pri */, - 85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sensors.pri */, - BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sensors_private.pri */, - BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_serialport.pri */, - 311004331A04F3D69C98643C /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_serialport_private.pri */, - 7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sql.pri */, - 075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_sql_private.pri */, - ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_svg.pri */, - 8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_svg_private.pri */, - DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_testlib.pri */, - 8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_testlib_private.pri */, - E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_uitools.pri */, - B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_uitools_private.pri */, - 8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_websockets.pri */, - 87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_websockets_private.pri */, - A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_widgets.pri */, - 8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_widgets_private.pri */, - AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xml.pri */, - E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xml_private.pri */, - 2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xmlpatterns.pri */, - F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_lib_xmlpatterns_private.pri */, - D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */, - 1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qavfcamera.pri */, - F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */, - AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qcocoa.pri */, - EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */, - 111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qdds.pri */, - 3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qdeclarativeview.pri */, - 2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qgenericbearer.pri */, - EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qicns.pri */, - C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qico.pri */, - 45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qjp2.pri */, - B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qminimal.pri */, - F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */, - B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */, - EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */, - 3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */, - 946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qmng.pri */, - CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qoffscreen.pri */, - 9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qqt7engine.pri */, - B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsqlite.pri */, - F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsvg.pri */, - CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qsvgicon.pri */, - 247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */, - 87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */, - 24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */, - 060A694B42A4555240009936 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtga.pri */, - BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtiff.pri */, - B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */, - 74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */, - C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */, - AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */, - 8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */, - 892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */, - A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qtsensors_generic.pri */, - 346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qwbmp.pri */, - B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.1/mkspecs/modules/qt_plugin_qwebp.pri */, - 63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.1/mkspecs/macx-clang/qmake.conf */, - 85061B1DA49D125991117950 /* /usr/local/Qt-5.5.1/mkspecs/macx-xcode/qmake.conf */, - AB745978DF0F41D1801ABDA6 /* .qmake.stash */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 801973D3334D0FCA849CF485 /* Debug */ = { - isa = PBXGroup; - children = ( - 861D2151FB56504EB72BDB6E /* moc_genstyles.cpp */, - ); - name = Debug; - sourceTree = ""; - }; - AF39DD055C3EF8226FBE929D /* Frameworks */ = { - isa = PBXGroup; - children = ( - 07D795491B5544B200DE9598 /* qtpcre */, - AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */, - DFD7912080BC557230093752 /* ApplicationServices.framework */, - 9742F24EE18EA44D52824F1E /* CoreServices.framework */, - 4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */, - FCC237CA5AD60B9BA4447615 /* Foundation.framework */, - D4B32C2222F82AC56BADEB21 /* OpenGL.framework */, - 8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */, - D53D8E6A188E05078A114294 /* qcocoa */, - 9DFF62A901D70814B8A323D4 /* Carbon.framework */, - A1A67BEAA744704B29168D39 /* IOKit.framework */, - DBF506D10449BFABD45B82DA /* Qt5PrintSupport */, - E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */, - 4689C06178B60B84E7F3A3B7 /* Qt5Widgets */, - D3D1BE0BEA3AEE0551AD39AC /* qdds */, - 31120EDB269DFF13E1D49847 /* qicns */, - 8F500B5166907B6D9A7C3E3D /* qico */, - F0681BC551FC8A2B132FC646 /* qjp2 */, - 83D37373949868693FB7816D /* qmng */, - DCEFD9167C239650120B0145 /* qtga */, - F2453BA07315EB9F34F1CD57 /* qtiff */, - 8CF51323544B886B8F4A2232 /* qwbmp */, - ADC6308023253CEA51F86E21 /* qwebp */, - 04391BE7A8B9D811E255100A /* Qt5Gui */, - D6193B79CECC9DD0142D1200 /* qtharfbuzzng */, - 5A80A1907B6CFFB524C1E57D /* Qt5Core */, - ); - name = Frameworks; - sourceTree = ""; - }; - D0B536A85E53302E4F66CE23 /* GeneratedFiles */ = { - isa = PBXGroup; - children = ( - 801973D3334D0FCA849CF485 /* Debug */, - ); - name = GeneratedFiles; - sourceTree = ""; - }; - E8C543AB96796ECAA2E65C57 /* MetaStyle */ = { - isa = PBXGroup; - children = ( - 2EB56BE3C2D93CDAB0C52E67 /* Sources */, - 25B08E2869634E9BCBA333A2 /* Generated Sources */, - 74B182DB50CB5611B5C1C297 /* Supporting Files */, - AF39DD055C3EF8226FBE929D /* Frameworks */, - FE0A091FDBFB3E9C31B7A1BD /* Products */, - ); - name = MetaStyle; - sourceTree = ""; - }; - FE0A091FDBFB3E9C31B7A1BD /* Products */ = { - isa = PBXGroup; - children = ( - 2CBD32689B153445ED220FAE /* MetaStyle.app */, - ); - name = Products; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 4F0CF954E7A00B07204FA0B2 /* MetaStyle */ = { - isa = PBXNativeTarget; - buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaStyle" */; - buildPhases = ( - F7E50F631C51CD5B5DC0BC43 /* Compile Sources */, - D1C883685E82D5676953459A /* Link Binary With Libraries */, - ); - buildRules = ( - ); - dependencies = ( - CCEE60BFA9DEFDFF202AFD47 /* PBXTargetDependency */, - ); - name = MetaStyle; - productInstallPath = ../Mac/DebugStyle/; - productName = MetaStyle; - productReference = 2CBD32689B153445ED220FAE /* MetaStyle.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 6DB9C3763D02B1415CD9D565 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0700; - }; - buildConfigurationList = DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaStyle" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 1; - knownRegions = ( - en, - ); - mainGroup = E8C543AB96796ECAA2E65C57 /* MetaStyle */; - productRefGroup = FE0A091FDBFB3E9C31B7A1BD /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 4F0CF954E7A00B07204FA0B2 /* MetaStyle */, - 5E275BA59C8BA5B561E14CF4 /* Preprocess */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXShellScriptBuildPhase section */ - 07C3AF43194CCD0F0016CFF1 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "mkdir -p ./GeneratedFiles/Debug"; - }; - 7EF0942E79C014DCEC8976BC /* Qt Preprocessors */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - name = "Qt Preprocessors"; - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "make -C . -f MetaStyle.xcodeproj/qt_preprocess.mak"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - F7E50F631C51CD5B5DC0BC43 /* Compile Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 728CDDB7D7F2B9FF141651AD /* msmain.cpp in Compile Sources */, - 3D6772E35214B81E50791089 /* genstyles.cpp in Compile Sources */, - CBF24309A148222794F28401 /* moc_genstyles.cpp in Compile Sources */, - ); - name = "Compile Sources"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - CCEE60BFA9DEFDFF202AFD47 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 5E275BA59C8BA5B561E14CF4 /* Preprocess */; - targetProxy = 0746FEAC193D006900F5C3FD /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 339EE1B2CC4FC24589A0EA95 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)Style$(EFFECTIVE_PLATFORM_NAME)"; - COPY_PHASE_STRIP = YES; - DYLIB_COMPATIBILITY_VERSION = 1.0; - DYLIB_CURRENT_VERSION = 1.0.0; - ENABLE_STRICT_OBJC_MSGSEND = YES; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../../Libraries/QtStatic/qtbase/include/QtGui/5.5.1/QtGui, - ../../Libraries/QtStatic/qtbase/include/QtCore/5.5.1/QtCore, - ../../Libraries/QtStatic/qtbase/include, - "/usr/local/Qt-5.5.1/include", - "/usr/local/Qt-5.5.1/include/QtGui", - "/usr/local/Qt-5.5.1/include/QtCore", - GeneratedFiles/Debug, - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers, - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers, - "/usr/local/Qt-5.5.1/mkspecs/macx-clang", - ); - INFOPLIST_FILE = Style.plist; - INSTALL_DIR = ../Mac/ReleaseStyle/; - LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++"; - LIBRARY_SEARCH_PATHS = ( - /System/Library/Frameworks/, - "/usr/local/Qt-5.5.1/lib", - "/usr/local/Qt-5.5.1/plugins/platforms", - "/usr/local/Qt-5.5.1/plugins/imageformats", - ); - MACOSX_DEPLOYMENT_TARGET = 10.8; - OBJROOT = ./../Mac/ReleaseIntermediateStyle; - OTHER_CFLAGS = ( - "-pipe", - "-g", - "-Wall", - "-W", - "-fPIE", - "-D_DEBUG", - "-DQT_GUI_LIB", - "-DQT_CORE_LIB", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-pipe", - "-g", - "-std=c++11", - "-stdlib=libc++", - "-Wall", - "-W", - "-fPIE", - "-D_DEBUG", - "-DQT_GUI_LIB", - "-DQT_CORE_LIB", - ); - OTHER_LDFLAGS = ( - "-headerpad_max_install_names", - "-stdlib=libc++", - "-L/usr/local/Qt-5.5.1/lib", - "-L/usr/local/Qt-5.5.1/plugins/platforms", - "-lcups", - "-L/usr/local/Qt-5.5.1/plugins/imageformats", - "-lz", - "-lm", - ); - PRODUCT_NAME = MetaStyle; - QT_LIBRARY_SUFFIX = ""; - SDKROOT = macosx; - SYMROOT = ./../Mac; - }; - name = Release; - }; - 3AA6C32AC930069E80220CF1 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)Style$(EFFECTIVE_PLATFORM_NAME)"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - DYLIB_COMPATIBILITY_VERSION = 1.0; - DYLIB_CURRENT_VERSION = 1.0.0; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - FRAMEWORK_SEARCH_PATHS = ""; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = ( - ../../Libraries/QtStatic/qtbase/include/QtGui/5.5.1/QtGui, - ../../Libraries/QtStatic/qtbase/include/QtCore/5.5.1/QtCore, - ../../Libraries/QtStatic/qtbase/include, - "/usr/local/Qt-5.5.1/include", - "/usr/local/Qt-5.5.1/include/QtGui", - "/usr/local/Qt-5.5.1/include/QtCore", - GeneratedFiles/Debug, - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers, - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers, - "/usr/local/Qt-5.5.1/mkspecs/macx-clang", - ); - INFOPLIST_FILE = Style.plist; - INSTALL_DIR = ../Mac/DebugStyle/; - LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++"; - LIBRARY_SEARCH_PATHS = ( - /System/Library/Frameworks/, - "/usr/local/Qt-5.5.1/lib", - "/usr/local/Qt-5.5.1/plugins/platforms", - "/usr/local/Qt-5.5.1/plugins/imageformats", - ); - MACOSX_DEPLOYMENT_TARGET = 10.8; - OBJROOT = ./../Mac/DebugIntermediateStyle; - ONLY_ACTIVE_ARCH = YES; - OTHER_CFLAGS = ( - "-pipe", - "-g", - "-Wall", - "-W", - "-fPIE", - "-D_DEBUG", - "-DQT_GUI_LIB", - "-DQT_CORE_LIB", - ); - OTHER_CPLUSPLUSFLAGS = ( - "-pipe", - "-g", - "-std=c++11", - "-stdlib=libc++", - "-Wall", - "-W", - "-fPIE", - "-D_DEBUG", - "-DQT_GUI_LIB", - "-DQT_CORE_LIB", - ); - OTHER_LDFLAGS = ( - "-headerpad_max_install_names", - "-stdlib=libc++", - "-L/usr/local/Qt-5.5.1/lib", - "-L/usr/local/Qt-5.5.1/plugins/platforms", - "-lcups", - "-L/usr/local/Qt-5.5.1/plugins/imageformats", - "-lz", - "-lm", - ); - PRODUCT_NAME = MetaStyle; - QT_LIBRARY_SUFFIX = _debug; - SDKROOT = macosx; - SYMROOT = ./../Mac; - }; - name = Debug; - }; - 6666AA5E688052234F6758D8 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - HEADER_SEARCH_PATHS = ( - ./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.1/QtGui, - ./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.1/QtCore, - ./../../Libraries/QtStatic/qtbase/include, - "/usr/local/Qt-5.5.1/include", - "/usr/local/Qt-5.5.1/include/QtGui", - "/usr/local/Qt-5.5.1/include/QtCore", - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers, - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers, - "/usr/local/Qt-5.5.1/mkspecs/macx-clang", - ); - INSTALL_DIR = ./../Mac/ReleaseStyle/; - PRODUCT_BUNDLE_IDENTIFIER = "com.tdesktop.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = MetaStyle; - QT_LIBRARY_SUFFIX = ""; - SDKROOT = macosx; - }; - name = Release; - }; - 77418F46922677BB04ED38DD /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - GCC_GENERATE_DEBUGGING_SYMBOLS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - HEADER_SEARCH_PATHS = ( - ./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.1/QtGui, - ./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.1/QtCore, - ./../../Libraries/QtStatic/qtbase/include, - "/usr/local/Qt-5.5.1/include", - "/usr/local/Qt-5.5.1/include/QtGui", - "/usr/local/Qt-5.5.1/include/QtCore", - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers, - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers, - "/usr/local/Qt-5.5.1/mkspecs/macx-clang", - ); - INSTALL_DIR = ./../Mac/DebugStyle/; - PRODUCT_BUNDLE_IDENTIFIER = "com.tdesktop.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = MetaStyle; - QT_LIBRARY_SUFFIX = _debug; - SDKROOT = macosx; - }; - name = Debug; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaStyle" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 77418F46922677BB04ED38DD /* Debug */, - 6666AA5E688052234F6758D8 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; - DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaStyle" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 3AA6C32AC930069E80220CF1 /* Debug */, - 339EE1B2CC4FC24589A0EA95 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Debug; - }; -/* End XCConfigurationList section */ - }; - rootObject = 6DB9C3763D02B1415CD9D565 /* Project object */; -} diff --git a/Telegram/MetaStyle.xcodeproj/qt_preprocess.mak b/Telegram/MetaStyle.xcodeproj/qt_preprocess.mak deleted file mode 100644 index c1bc48d11..000000000 --- a/Telegram/MetaStyle.xcodeproj/qt_preprocess.mak +++ /dev/null @@ -1,67 +0,0 @@ -############################################################################# -# Makefile for building: ../Mac/DebugStyle/MetaStyle.app/Contents/MacOS/MetaStyle -# Generated by qmake (3.0) (Qt 5.5.1) -# Project: MetaStyle.pro -# Template: app -# Command: /usr/local/Qt-5.5.1/bin/qmake -spec macx-xcode -o MetaStyle.xcodeproj/project.pbxproj MetaStyle.pro -############################################################################# - -MAKEFILE = project.pbxproj - -MOC = /usr/local/Qt-5.5.1/bin/moc -UIC = -LEX = flex -LEXFLAGS = -YACC = yacc -YACCFLAGS = -d -DEFINES = -D_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -INCPATH = -I/usr/local/Qt-5.5.1/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.5.1/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.5.1/QtCore -I../../Libraries/QtStatic/qtbase/include -I/usr/local/Qt-5.5.1/include -I/usr/local/Qt-5.5.1/include/QtGui -I/usr/local/Qt-5.5.1/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers -DEL_FILE = rm -f -MOVE = mv -f - -IMAGES = -PARSERS = -preprocess: $(PARSERS) compilers -clean preprocess_clean: parser_clean compiler_clean - -parser_clean: -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -check: first - -compilers: GeneratedFiles/Debug/moc_genstyles.cpp -compiler_objective_c_make_all: -compiler_objective_c_clean: -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_moc_header_make_all: GeneratedFiles/Debug/moc_genstyles.cpp -compiler_moc_header_clean: - -$(DEL_FILE) GeneratedFiles/Debug/moc_genstyles.cpp -GeneratedFiles/Debug/moc_genstyles.cpp: ../../Libraries/QtStatic/qtbase/include/QtCore/QMap \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QVector \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QBitmap \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QBuffer \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QFileInfo \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QFile \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QTextStream \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QString \ - ../../Libraries/QtStatic/qtbase/include/QtCore/QCoreApplication \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QGuiApplication \ - ../../Libraries/QtStatic/qtbase/include/QtGui/QPainter \ - SourceFiles/_other/genstyles.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/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/_other/genstyles.h -o GeneratedFiles/Debug/moc_genstyles.cpp - -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_rez_source_make_all: -compiler_rez_source_clean: -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_header_clean - diff --git a/Telegram/SourceFiles/_other/genstyles.cpp b/Telegram/SourceFiles/_other/genstyles.cpp deleted file mode 100644 index 1a16cdd62..000000000 --- a/Telegram/SourceFiles/_other/genstyles.cpp +++ /dev/null @@ -1,2015 +0,0 @@ -/* -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 "genstyles.h" - -#include -#include - -#ifdef Q_OS_WIN -Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) -#endif - -#ifdef Q_OS_MAC -Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin) -Q_IMPORT_PLUGIN(QDDSPlugin) -Q_IMPORT_PLUGIN(QICNSPlugin) -Q_IMPORT_PLUGIN(QICOPlugin) -Q_IMPORT_PLUGIN(QJp2Plugin) -Q_IMPORT_PLUGIN(QMngPlugin) -Q_IMPORT_PLUGIN(QTgaPlugin) -Q_IMPORT_PLUGIN(QTiffPlugin) -Q_IMPORT_PLUGIN(QWbmpPlugin) -Q_IMPORT_PLUGIN(QWebpPlugin) -#endif - -enum ScalarType { - scNumber, - scString, - scColor, - scPoint, - scRect, - scSprite, - scSize, - scTransition, - scCursor, - scAlign, - scMargins, - scFont, - - scTypesCount, -}; - -string scalarTypeNames[] = { - "number", - "string", - "color", - "point", - "rect", - "sprite", - "size", - "transition", - "cursor", - "align", - "margins", - "font", -}; - -string outputTypeNames[] = { - "number", - "string", - "color", - "point", - "rect", - "sprite", - "size", - "transition", - "cursor", - "align", - "margins", - "font", -}; - -enum ClassGenTokenType { - csName, // [a-zA-Z_][a-zA-Z0-9_]* - csDelimeter, // ':' - csFieldFinish, // ';' - csClassStart, // '{' - csClassFinish, // '}' -}; - -bool skipWhitespaces(const char *&from, const char *end) { - while (from < end && (*from == ' ' || *from == '\n' || *from == '\t' || *from == '\r')) { - ++from; - } - return (from < end); -} - -bool skipComment(const char *&from, const char *end) { - if (from >= end) return false; - if (*from == '/') { - if (from + 1 >= end) return true; - if (*(from + 1) == '*') { - from += 2; - while (from + 1 < end && (*from != '*' || *(from + 1) != '/')) { - ++from; - } - from += 2; - return (from < end); - } else if (*(from + 1) == '/') { - from += 2; - while (from < end && *from != '\n' && *from != '\r') { - ++from; - } - ++from; - return (from < end); - } else { - return true; - } - } - return true; -} - -void readName(const char *&from, const char *end, string &token) { - if (from >= end) throw Exception("Unexpected end of file!"); - - const char *start = from; - char ch = *from; - if (!((ch >= 'a' && ch <= 'z') || ((ch >= 'A') && (ch <= 'Z')))) { - throw Exception("Unknown error :("); - } - while (++from < end) { - ch = *from; - if (!((ch >= 'a' && ch <= 'z') || ((ch >= 'A') && (ch <= 'Z')) || ((ch >= '0') && (ch <= '9')) || ch == '_')) break; - } - token = string(start, from); -} - -void readString(const char *&from, const char *end, string &token) { - if (from + 1 >= end) throw Exception("Unexpected end of file!"); - - token = ""; - char border = *from; - if (border != '"' && border != '\'') { - throw Exception("Unknown error :("); - } - - bool spec = false; - for (++from; spec || (*from != border); ) { - if (*from == '\\') { - spec = true; - } else if (spec) { - if (*from == 'n') { - token += '\n'; - } else if (*from == 't') { - token += '\t'; - } else if (*from == '\\' || *from == '"' || *from == '\'') { - token += *from; - } else { - throw Exception(QString("Unexpected escaped character in string: %1").arg(*from)); - } - spec = false; - } else { - token += *from; - } - if (++from >= end) throw Exception("Unexpected end of file!"); - } - ++from; -} - -char hexChar(char ch) { - if (ch >= 'a' && ch <= 'f') { - return ch + ('A' - 'a'); - } - return ch; -} - -void readColor(const char *&from, const char *end, string &token) { - if (from + 3 >= end) throw Exception("Unexpected end of file!"); - - token.resize(8); - - int len = 0; - for (const char *ch = from + 1; ch < end; ++ch) { - if ((*ch >= '0' && *ch <= '9') || (*ch >= 'A' && *ch <= 'F') || (*ch >= 'a' && *ch <= 'f')) { - ++len; - } else { - break; - } - } - if (len != 3 && len != 4 && len != 6 && len != 8) { - throw Exception("Bad color token"); - } - if (len == 3 || len == 4) { - token[0] = token[1] = hexChar(*(++from)); - token[2] = token[3] = hexChar(*(++from)); - token[4] = token[5] = hexChar(*(++from)); - if (len == 3) { - token[6] = token[7] = 'F'; - } else { - token[6] = token[7] = hexChar(*(++from)); - } - } else { - token[0] = hexChar(*(++from)); - token[1] = hexChar(*(++from)); - token[2] = hexChar(*(++from)); - token[3] = hexChar(*(++from)); - token[4] = hexChar(*(++from)); - token[5] = hexChar(*(++from)); - if (len == 6) { - token[6] = token[7] = 'F'; - } else { - token[6] = hexChar(*(++from)); - token[7] = hexChar(*(++from)); - } - } - ++from; -} - -void readNumber(const char *&from, const char *end, string &token) { - if (from >= end) throw Exception("Unexpected end of file!"); - - bool neg = false; - if (*from == '-') { - neg = true; - if (++from >= end) throw Exception("Unexpected end of file!"); - } - - if (*from == '0' && from < end && *(from + 1) >= '0' && *(from + 1) <= '9') throw Exception("Bad number token!"); - - token = neg ? "-" : ""; - for (bool wasDot = false; from < end; ++from) { - if (*from == '.') { - if (wasDot) throw Exception("Unexpected dot in number!"); - wasDot = true; - } else if (*from < '0' || *from > '9') { - break; - } - token += *from; - } -} - -void readClassGenToken(const char *&from, const char *end, ClassGenTokenType &tokenType, string &token) { - const char *start; - do { - start = from; - if (!skipWhitespaces(from, end)) throw Exception("Unexpected end of file!"); - if (!skipComment(from, end)) throw Exception("Unexpected end of comment!"); - } while (start != from); - - if ((*from >= 'a' && *from <= 'z') || ((*from >= 'A') && (*from <= 'Z'))) { - tokenType = csName; - return readName(from, end, token); - } else if (*from == ':') { - tokenType = csDelimeter; - } else if (*from == ';') { - tokenType = csFieldFinish; - } else if (*from == '{') { - tokenType = csClassStart; - } else if (*from == '}') { - tokenType = csClassFinish; - } else { - throw Exception("Could not parse token!"); - } - ++from; - return; -} - -typedef QMap FieldTypesMap; -struct ClassData { - string name; - FieldTypesMap fields; -}; - -typedef QMap Classes; -Classes classes; - -typedef QMap ByName; - -bool genClasses(const QString &classes_in, const QString &classes_out) { - QFile f(classes_in); - if (!f.open(QIODevice::ReadOnly)) { - cout << "Could not open style classes input file '" << classes_in.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - - QByteArray blob = f.readAll(); - const char *text = blob.constData(), *end = blob.constData() + blob.size(); - ByName byName; - QVector byIndex; - string token; - ClassGenTokenType type; - try { - while (true) { - try { - readClassGenToken(text, end, type, token); - } catch (exception &e) { - if (e.what() != string("Unexpected end of file!")) { - throw; - } - break; - } - if (type != csName) { - throw Exception(QString("Unexpected token, type %1: %2").arg(type).arg(token.c_str())); - } - - byIndex.push_back(ClassData()); - ClassData &cls(byIndex.back()); - cls.name = token; - readClassGenToken(text, end, type, token); - if (type == csDelimeter) { - readClassGenToken(text, end, type, token); - if (type != csName) throw Exception(QString("Unexpected token after '%1:', type %2").arg(cls.name.c_str()).arg(type)); - - QMap::const_iterator i = byName.constFind(token); - if (i == byName.cend()) throw Exception(QString("Parent class '%1' not found for class '%2'").arg(token.c_str()).arg(cls.name.c_str())); - cls.fields = byIndex[i.value()].fields; - readClassGenToken(text, end, type, token); - } - if (type != csClassStart) throw Exception(QString("Unexpected token after '%1:%2', type %3").arg(cls.name.c_str()).arg(token.c_str()).arg(type)); - - do { - string fname, ftype; - readClassGenToken(text, end, type, fname); - if (type == csClassFinish) { - byName.insert(cls.name, byIndex.size() - 1); - break; - } - if (type != csName) throw Exception(QString("Unexpected token %1 while reading class '%2'").arg(type).arg(cls.name.c_str())); - readClassGenToken(text, end, type, token); - if (type != csDelimeter) throw Exception(QString("Unexpected token %1 while reading field '%2' in class '%3'").arg(type).arg(fname.c_str()).arg(cls.name.c_str())); - readClassGenToken(text, end, type, ftype); - if (type != csName) throw Exception(QString("Unexpected token %1 while reading field '%2' in class '%3'").arg(type).arg(fname.c_str()).arg(cls.name.c_str())); - readClassGenToken(text, end, type, token); - if (type != csFieldFinish) throw Exception(QString("Unexpected token %1 while reading field '%2:%3' in class '%4'").arg(type).arg(fname.c_str()).arg(ftype.c_str()).arg(cls.name.c_str())); - - ScalarType typeIndex = scTypesCount; - for (int t = 0; t < scTypesCount; ++t) { - if (ftype == scalarTypeNames[t]) { - typeIndex = ScalarType(t); - break; - } - } - if (typeIndex == scTypesCount) throw Exception(QString("Unknown field type %1 while reading field '%2' in class '%3'").arg(ftype.c_str()).arg(fname.c_str()).arg(cls.name.c_str())); - FieldTypesMap::const_iterator alr = cls.fields.find(fname); - if (alr != cls.fields.cend()) throw Exception(QString("Redeclaration of field '%1' in class '%2'").arg(fname.c_str()).arg(cls.name.c_str())); - cls.fields.insert(fname, typeIndex); - } while(true); - } - - QByteArray outText; - { - QTextStream tout(&outText); - tout << "\ -/*\n\ -Created from \'/Resources/style_classes.txt\' by \'/MetaStyle\' project\n\ -\n\ -WARNING! All changes made in this file will be lost!\n\ -\n\ -This file is part of Telegram Desktop,\n\ -the official desktop version of Telegram messaging app, see https://telegram.org\n\ -\n\ -Telegram Desktop is free software: you can redistribute it and/or modify\n\ -it under the terms of the GNU General Public License as published by\n\ -the Free Software Foundation, either version 3 of the License, or\n\ -(at your option) any later version.\n\ -\n\ -It is distributed in the hope that it will be useful,\n\ -but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ -GNU General Public License for more details.\n\ -\n\ -In addition, as a special exception, the copyright holders give permission\n\ -to link the code of portions of this program with the OpenSSL library.\n\ -\n\ -Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\n\ -Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org\n\ -*/\n"; - tout << "#pragma once\n\n#include \"ui/style_core.h\"\n\nnamespace style {\n"; - for (int i = 0, l = byIndex.size(); i < l; ++i) { - ClassData &cls(byIndex[i]); - classes.insert(cls.name, cls); - tout << "\n\tclass " << cls.name.c_str() << " {\n\tpublic:\n\t\t" << cls.name.c_str() << "("; - for (FieldTypesMap::const_iterator j = cls.fields.cbegin(), e = cls.fields.cend(); j != e;) { - tout << "const style::" << outputTypeNames[j.value()].c_str() << " &_" << j.key().c_str(); - if (++j != e) { - tout << ", "; - } - } - tout << ", Qt::Initialization = Qt::Uninitialized)"; - if (!cls.fields.isEmpty()) { - tout << " : "; - } - for (FieldTypesMap::const_iterator j = cls.fields.cbegin(), e = cls.fields.cend(); j != e;) { - tout << j.key().c_str() << "(_" << j.key().c_str() << ")"; - if (++j != e) { - tout << ", "; - } - } - tout << " {\n\t\t}\n\n"; - for (FieldTypesMap::const_iterator j = cls.fields.cbegin(), e = cls.fields.cend(); j != e;) { - tout << "\t\tstyle::" << outputTypeNames[j.value()].c_str() << " " << j.key().c_str() << ";\n"; - ++j; - } - tout << "\t};\n"; - } - tout << "\n};\n"; - } - QFile out(classes_out); - if (out.open(QIODevice::ReadOnly)) { - QByteArray wasOut = out.readAll(); - if (wasOut.size() == outText.size()) { - if (!memcmp(wasOut.constData(), outText.constData(), outText.size())) { - return true; - } - } - out.close(); - } - cout << "Style classes compiled, writing " << byIndex.size() << " classes.\n"; - if (!out.open(QIODevice::WriteOnly)) throw Exception("Could not open style_classes.h for writing!"); - if (out.write(outText) != outText.size()) throw Exception("Could not open style_classes.h for writing!"); - } catch (exception &e) { - cout << e.what() << "\n"; - QCoreApplication::exit(1); - return false; - } - return true; -} - -enum StyleGenTokenType { - stName, // [a-zA-Z_][a-zA-Z0-9_]* - stDelimeter, // ':' - stFieldFinish, // ';' - stObjectStart, // '{' - stObjectFinish, // '}' - stConsStart, // '(' - stConsFinish, // ')' - stComma, // ',' - stVariant, // '/' - stString, // "text" or 'text' - stColor, // #rgb or #rrggbb - stNumber, // -?([1-9][0-9]+(\.[0-9]+)?|\.[0-9]+) -}; - -static const int variants[] = { 0, 2, 3, 4 }, variantsCount = sizeof(variants) / sizeof(variants[0]); -static const char *variantNames[] = { "dbisOne", "dbisOneAndQuarter", "dbisOneAndHalf", "dbisTwo" }; - -static const char *variantPostfixes[] = { "", "_125x", "_150x", "_200x" }; -QImage *variantSprites = 0; -int *spriteWidths = 0; -QImage *variantGrids = 0; - -void readStyleGenToken(const char *&from, const char *end, StyleGenTokenType &tokenType, string &token) { - const char *start; - do { - start = from; - if (!skipWhitespaces(from, end)) throw Exception("Unexpected end of file!"); - if (!skipComment(from, end)) throw Exception("Unexpected end of comment!"); - } while (start != from); - - if ((*from >= 'a' && *from <= 'z') || ((*from >= 'A') && (*from <= 'Z'))) { - tokenType = stName; - return readName(from, end, token); - } else if (*from == '"' || *from == '\'') { - tokenType = stString; - return readString(from, end, token); - } else if (*from == '#') { - tokenType = stColor; - return readColor(from, end, token); - } else if (*from == '.' || (*from >= '0' && *from <= '9') || *from == '-') { - tokenType = stNumber; - return readNumber(from, end, token); - } else if (*from == ':') { - tokenType = stDelimeter; - } else if (*from == ';') { - tokenType = stFieldFinish; - } else if (*from == '{') { - tokenType = stObjectStart; - } else if (*from == '}') { - tokenType = stObjectFinish; - } else if (*from == '(') { - tokenType = stConsStart; - } else if (*from == ')') { - tokenType = stConsFinish; - } else if (*from == ',') { - tokenType = stComma; - } else if (*from == '/') { - tokenType = stVariant; - } else { - throw Exception("Could not parse token!"); - } - ++from; - return; -} - -bool readPxAfterNumber(const char *&from, const char *end) { - if (from + 2 <= end && *from == 'p' && *(from + 1) == 'x') { - from += 2; - return true; - } - return false; -} - -typedef QMap ScalarValue; -typedef QPair ScalarData; -typedef QPair Scalar; -typedef QMap Fields; -typedef QPair ObjectData; -typedef QPair Object; -typedef QVector Objects; -typedef QVector Scalars; - -string findScalarVariant(const ScalarValue &value, int variant) { - ScalarValue::const_iterator i = value.constFind(variant); - if (i != value.cend()) return i.value(); - - return value[0]; - //string result; - //for (ScalarValue::const_iterator i = value.cbegin(), e = value.cend(); i != e; ++i) { - // if (i.key() > variant) { - // break; - // } - // result = i.value(); - //} - //return result; -} - -Objects objects; -Scalars scalars; - -ByName objectsMap; -ByName scalarsMap; - -ScalarValue fillPrepareResult(int variant, const string &result) { - ScalarValue r; - r[variant] = result; - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - r[variants[i]] = result; - } - } - return r; -} - -int adjustPx(int variant, int number, bool ispx) { - if (!ispx || !variant) return number; - - switch (variant) { - case 2: return qRound(number * 1.25 + (number > 0 ? -0.01 : 0.01)); - case 3: return qRound(number * 1.5 + (number > 0 ? -0.01 : 0.01)); - case 4: return number * 2; - } - return number; -} - -string adjustPx(int variant, const string &number, bool ispx) { - if (!variant || !ispx) return number; - return QString::number(adjustPx(variant, QString(number.c_str()).toInt(), ispx)).toUtf8().constData(); -} - -ScalarValue prepareString(int variant, const string &token) { - string result; - result.reserve(token.length() * 2); - result += "(qsl(\""; - for (quint64 i = 0, l = token.length(); i < l; ++i) { - if (token[i] == '\n') { - result += "\\n"; - } else if (token[i] == '\r') { - result += "\\r"; - } else if (token[i] == '\t') { - result += "\\t"; - } else { - if (token[i] == '\\' || token[i] == '"') { - result += '\\'; - } - result += token[i]; - } - } - result += "\"))"; - return fillPrepareResult(variant, result); - -} - -int hexDec(char a, char b) { - int da = (a >= '0' && a <= '9') ? (a - '0') : (10 + a - 'A'); - int db = (b >= '0' && b <= '9') ? (b - '0') : (10 + b - 'A'); - return da * 16 + db; -} - -typedef QMap > Named; -QMap named; - -struct Color { - string color; -}; - -typedef QMap Colors; -QMap colors; - -ScalarValue prepareColor(int variant, const string &name, const string &token) { - QString result; - result.reserve(20); - - int r = hexDec(token[0], token[1]), g = hexDec(token[2], token[3]), b = hexDec(token[4], token[5]), a = hexDec(token[6], token[7]); - - Color c; - c.color = QString("%1, %2, %3, %4").arg(r).arg(g).arg(b).arg(a).toUtf8().constData(); - colors[variant][name] = c; - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - colors[variants[i]][name] = c; - } - } - return fillPrepareResult(variant, "(Qt::Uninitialized)"); -} - -ScalarValue prepareNumber(int variant, const string &token, const char *&text, const char *end) { - bool ispx = readPxAfterNumber(text, end); - ScalarValue r; - r[variant] = '(' + token + ')'; - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - r[variants[i]] = '(' + adjustPx(variants[i], token, ispx) + ')'; - } - } - return r; -} - -ScalarValue prepareColorRGB(int variant, const string &name, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading rgb() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rgb() cons!").arg(type)); - string r = token; - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading rgb() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rgb() cons!").arg(type)); - string g = token; - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading rgb() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rgb() cons!").arg(type)); - string b = token; - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading rgb() cons!").arg(type)); - - Color c; - c.color = QString("%1, %2, %3, 255").arg(r.c_str()).arg(g.c_str()).arg(b.c_str()).toUtf8().constData(); - colors[variant][name] = c; - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - colors[variants[i]][name] = c; - } - } - return fillPrepareResult(variant, "(Qt::Uninitialized)"); -} - -ScalarValue prepareColorRGBA(int variant, const string &name, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - string r = token; - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - string g = token; - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - string b = token; - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - string a = token; - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading rgba() cons!").arg(type)); - - Color c; - c.color = QString("%1, %2, %3, %4").arg(r.c_str()).arg(g.c_str()).arg(b.c_str()).arg(a.c_str()).toUtf8().constData(); - colors[variant][name] = c; - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - colors[variants[i]][name] = c; - } - } - return fillPrepareResult(variant, "(Qt::Uninitialized)"); -} - -ScalarValue prepareRect(int variant, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - string x = token; - bool xpx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - string y = token; - bool ypx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - string w = token; - bool wpx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - string h = token; - bool hpx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading rect() cons!").arg(type)); - - ScalarValue r; - r[variant] = QString("(%1, %2, %3, %4)").arg(x.c_str()).arg(y.c_str()).arg(w.c_str()).arg(h.c_str()).toUtf8().constData(); - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - r[variants[i]] = QString("(%1, %2, %3, %4)").arg(adjustPx(variants[i], x, xpx).c_str()).arg(adjustPx(variants[i], y, ypx).c_str()).arg(adjustPx(variants[i], w, wpx).c_str()).arg(adjustPx(variants[i], h, hpx).c_str()).toUtf8().constData(); - } - } - return r; -} - -typedef QVector > SpriteRects; -SpriteRects sprites; - -ScalarValue prepareSprite(int variant, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - if (variant) throw Exception(QString("Unexpected variant in sprite rectangle!")); - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - string x = token; - if (!readPxAfterNumber(text, end)) throw Exception(QString("All number in sprite() cons must be in px!")); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - string y = token; - if (!readPxAfterNumber(text, end)) throw Exception(QString("All number in sprite() cons must be in px!")); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - string w = token; - if (!readPxAfterNumber(text, end)) throw Exception(QString("All number in sprite() cons must be in px!")); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - string h = token; - if (!readPxAfterNumber(text, end)) throw Exception(QString("All number in sprite() cons must be in px!")); - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading sprite() cons!").arg(type)); - - ScalarValue r; - r[variant] = QString("(%1, %2, %3, %4)").arg(x.c_str()).arg(y.c_str()).arg(w.c_str()).arg(h.c_str()).toUtf8().constData(); - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - r[variants[i]] = QString("(%1, %2, %3, %4)").arg(adjustPx(variants[i], x, true).c_str()).arg(adjustPx(variants[i], y, true).c_str()).arg(adjustPx(variants[i], w, true).c_str()).arg(adjustPx(variants[i], h, true).c_str()).toUtf8().constData(); - } - } - - bool found = false; - QRect sprite(QString(x.c_str()).toInt(), QString(y.c_str()).toInt(), QString(w.c_str()).toInt(), QString(h.c_str()).toInt()); - for (SpriteRects::const_iterator i = sprites.cbegin(), e = sprites.cend(); i != e; ++i) { - if (i->first == sprite) { - found = true; - break; - } - if (i->first.intersects(sprite)) { - cout << QString("Sprites intersection, %1 intersects with %2").arg(i->second).arg(r[variant].c_str()).toUtf8().constData() << "\n"; -// throw Exception(QString("Sprites intersection, %1 intersects with %2").arg(i->second).arg(r[variant].c_str())); - } - } - if (!found) { - sprites.push_back(QPair(sprite, QString(r[variant].c_str()))); - - if (sprite.x() < 0 || sprite.y() < 0 || sprite.x() + sprite.width() > variantSprites[0].width() || sprite.y() + sprite.height() > variantSprites[0].height()) { - throw Exception(QString("Bad sprite size %1").arg(r[variant].c_str())); - } - - int varLast = variants[variantsCount - 1]; - QImage lastCopy = variantSprites[variantsCount - 1].copy(adjustPx(varLast, sprite.x(), true), adjustPx(varLast, sprite.y(), true), adjustPx(varLast, sprite.width(), true), adjustPx(varLast, sprite.height(), true)); - for (int i = 1; i < variantsCount - 1; ++i) { - QPainter p(&variantSprites[i]); - p.drawImage(QPoint(adjustPx(variants[i], sprite.x(), true), adjustPx(variants[i], sprite.y(), true)), lastCopy.scaled(adjustPx(variants[i], sprite.width(), true), adjustPx(variants[i], sprite.height(), true), Qt::IgnoreAspectRatio, Qt::SmoothTransformation)); - } - - for (int i = 0; i < variantsCount; ++i) { - QPainter p(&variantGrids[i]); - p.setBrush(Qt::NoBrush); - p.setPen(QColor(0, 255, 255)); - p.drawRect(QRect(adjustPx(variants[i], sprite.x(), true), adjustPx(variants[i], sprite.y(), true), adjustPx(variants[i], sprite.width(), true) - 1, adjustPx(variants[i], sprite.height(), true) - 1)); - } - } - - return r; -} - -ScalarValue preparePoint(int variant, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading point() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading point() cons!").arg(type)); - string x = token; - bool xpx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading point() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading point() cons!").arg(type)); - string y = token; - bool ypx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading point() cons!").arg(type)); - - ScalarValue r; - r[variant] = QString("(%1, %2)").arg(x.c_str()).arg(y.c_str()).toUtf8().constData(); - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - r[variants[i]] = QString("(%1, %2)").arg(adjustPx(variants[i], x, xpx).c_str()).arg(adjustPx(variants[i], y, ypx).c_str()).toUtf8().constData(); - } - } - return r; -} - -ScalarValue prepareSize(int variant, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading size() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading size() cons!").arg(type)); - string x = token; - bool xpx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading size() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading size() cons!").arg(type)); - string y = token; - bool ypx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading size() cons!").arg(type)); - - ScalarValue r; - r[variant] = QString("(%1, %2)").arg(x.c_str()).arg(y.c_str()).toUtf8().constData(); - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - r[variants[i]] = QString("(%1, %2)").arg(adjustPx(variants[i], x, xpx).c_str()).arg(adjustPx(variants[i], y, ypx).c_str()).toUtf8().constData(); - } - } - return r; -} - -ScalarValue prepareTransition(int variant, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading transition() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stName) throw Exception(QString("Unexpected token %1 while reading transition() cons!").arg(type)); - string func = token; - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading transition() cons!").arg(type)); - - return fillPrepareResult(variant, QString("(anim::%1)").arg(func.c_str()).toUtf8().constData()); -} - -ScalarValue prepareCursor(int variant, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading cursor() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stName) throw Exception(QString("Unexpected token %1 while reading cursor() cons!").arg(type)); - string func = token; - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading cursor() cons!").arg(type)); - - return fillPrepareResult(variant, QString("(style::cur_%1)").arg(func.c_str()).toUtf8().constData()); -} - -ScalarValue prepareAlign(int variant, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading align() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stName) throw Exception(QString("Unexpected token %1 while reading align() cons!").arg(type)); - string func = token; - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading align() cons!").arg(type)); - - return fillPrepareResult(variant, QString("(style::al_%1)").arg(func.c_str()).toUtf8().constData()); -} - -ScalarValue prepareMargins(int variant, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - string x = token; - bool xpx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - string y = token; - bool ypx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - string w = token; - bool wpx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stComma) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - - readStyleGenToken(text, end, type, token); - if (type != stNumber) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - string h = token; - bool hpx = readPxAfterNumber(text, end); - - readStyleGenToken(text, end, type, token); - if (type != stConsFinish) throw Exception(QString("Unexpected token %1 while reading margins() cons!").arg(type)); - - ScalarValue r; - r[variant] = QString("(%1, %2, %3, %4)").arg(x.c_str()).arg(y.c_str()).arg(w.c_str()).arg(h.c_str()).toUtf8().constData(); - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - r[variants[i]] = QString("(%1, %2, %3, %4)").arg(adjustPx(variants[i], x, xpx).c_str()).arg(adjustPx(variants[i], y, ypx).c_str()).arg(adjustPx(variants[i], w, wpx).c_str()).arg(adjustPx(variants[i], h, hpx).c_str()).toUtf8().constData(); - } - } - return r; -} - -enum FontFlagBits { - FontBoldBit, - FontItalicBit, - FontUnderlineBit, - - FontFlagsBits -}; - -enum FontFlags { - FontBold = (1 << FontBoldBit), - FontItalic = (1 << FontItalicBit), - FontUnderline = (1 << FontUnderlineBit), - - FontDifferentFlags = (1 << FontFlagsBits) -}; - -struct Font { - string family, size; - int flags; -}; - -typedef QMap Fonts; -QMap fonts; - -ScalarValue prepareFont(int variant, const string &name, const char *&text, const char *end) { - StyleGenTokenType type; - string token; - - ScalarValue sizeScalar, familyScalar; - - string size, family; - int flags = 0; - bool sizepx = false; - - readStyleGenToken(text, end, type, token); - if (type != stConsStart) throw Exception(QString("Unexpected token %1 (%2) while reading font() cons!").arg(type).arg(token.c_str())); - - do { - readStyleGenToken(text, end, type, token); - if (type == stNumber) { - if (size.empty() && sizeScalar.isEmpty()) { - size = token; - sizepx = readPxAfterNumber(text, end); - } else { - throw Exception(QString("Unexpected second number %1 while reading font() cons!").arg(token.c_str())); - } - } else if (type == stName) { - int bit = 0; - if (token == "bold") { - bit = FontBold; - } else if (token == "italic") { - bit = FontItalic; - } else if (token == "underline") { - bit = FontUnderline; - } else { - ByName::const_iterator j = scalarsMap.constFind(token); - if (j != scalarsMap.cend()) { - if (scalars[j.value()].second.first == scNumber) { - if (size.empty() && sizeScalar.isEmpty()) { - sizeScalar = scalars[j.value()].second.second; -// size = findScalarVariant(scalars[j.value()].second.second, variant); - } else { - throw Exception(QString("Unexpected second number %1 while reading font() cons!").arg(token.c_str())); - } - } else if (scalars[j.value()].second.first == scString) { - if (scalars[j.value()].second.second.empty()) { - throw Exception(QString("Unexpected empty string %1 while reading font() cons!").arg(token.c_str())); - } else if (!family.empty() || !familyScalar.empty()) { - throw Exception(QString("Unexpected second string %1 while reading font() cons!").arg(token.c_str())); - } - familyScalar = scalars[j.value()].second.second; -// family = findScalarVariant(scalars[j.value()].second.second, variant); - } else { - throw Exception(QString("Unexpected name token %1 type %2 while reading font() cons!").arg(token.c_str()).arg(scalars[j.value()].second.first)); - } - } else { - throw Exception(QString("Unexpected name token %1 while reading font() cons!").arg(token.c_str())); - } - } - if (flags & bit) { - throw Exception(QString("Unexpected second time token %1 while reading font() cons!").arg(token.c_str())); - } - flags |= bit; - } else if (type == stString) { - if (token.empty()) { - throw Exception(QString("Unexpected empty string while reading font() cons!")); - } else if (!family.empty() || !familyScalar.empty()) { - throw Exception(QString("Unexpected second string %1 while reading font() cons!").arg(token.c_str())); - } - family = token; - } else if (type == stConsFinish) { - break; - } else { - throw Exception(QString("Unexpected token %1 while reading font() cons!").arg(type)); - } - } while (true); - - if (family.empty() && familyScalar.isEmpty()) { - ByName::const_iterator j = scalarsMap.constFind("defaultFontFamily"); - if (j != scalarsMap.cend()) { - if (scalars[j.value()].second.first == scString) { - if (scalars[j.value()].second.second.empty()) { - throw Exception(QString("Unexpected empty string %1 while reading font() cons!").arg(token.c_str())); - } else if (!family.empty() || !familyScalar.isEmpty()) { - throw Exception(QString("Unexpected second string %1 while reading font() cons!").arg(token.c_str())); - } -// family = findScalarVariant(scalars[j.value()].second.second, variant); - familyScalar = scalars[j.value()].second.second; - } else { - throw Exception(QString("Font family not found while reading font() cons!")); - } - } else { - throw Exception(QString("Font family not found while reading font() cons!")); - } - } - if (size.empty() && sizeScalar.isEmpty()) throw Exception(QString("Font size not found while reading font() cons!")); - - Font font; - font.family = familyScalar.empty() ? family : findScalarVariant(familyScalar, variant); - font.size = sizeScalar.empty() ? size : findScalarVariant(sizeScalar, variant); - font.flags = flags; - fonts[variant][name] = font; - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - Font varFont = font; - if (!familyScalar.empty()) varFont.family = findScalarVariant(familyScalar, variants[i]); - varFont.size = sizeScalar.empty() ? adjustPx(variants[i], size, sizepx) : findScalarVariant(sizeScalar, variants[i]); - fonts[variants[i]][name] = varFont; - } - } - - return fillPrepareResult(variant, "(Qt::Uninitialized)"); -} - -ScalarData readScalarElement(string name, const char *&text, const char *end, string objName, const Fields *objFields, int variant) { - string fullName = objFields ? (objName + '.' + name) : name; - ScalarData result; - StyleGenTokenType type; - string token; - readStyleGenToken(text, end, type, token); - if (type == stString) { - result.first = scString; - result.second = prepareString(variant, token); - } else if (type == stNumber) { - result.first = scNumber; - result.second = prepareNumber(variant, token, text, end); - } else if (type == stColor) { - result.first = scColor; - result.second = prepareColor(variant, fullName, token); - } else if (type == stName) { - if (token == "rgb") { - result.first = scColor; - result.second = prepareColorRGB(variant, fullName, text, end); - } else if (token == "rgba") { - result.first = scColor; - result.second = prepareColorRGBA(variant, fullName, text, end); - } else if (token == "rect") { - result.first = scRect; - result.second = prepareRect(variant, text, end); - } else if (token == "sprite") { - result.first = scSprite; - result.second = prepareSprite(variant, text, end); - } else if (token == "point") { - result.first = scPoint; - result.second = preparePoint(variant, text, end); - } else if (token == "size") { - result.first = scSize; - result.second = preparePoint(variant, text, end); - } else if (token == "transition") { - result.first = scTransition; - result.second = prepareTransition(variant, text, end); - } else if (token == "cursor") { - result.first = scCursor; - result.second = prepareCursor(variant, text, end); - } else if (token == "align") { - result.first = scAlign; - result.second = prepareAlign(variant, text, end); - } else if (token == "margins") { - result.first = scMargins; - result.second = prepareMargins(variant, text, end); - } else if (token == "font") { - result.first = scFont; - result.second = prepareFont(variant, fullName, text, end); - } else { - bool found = false; - if (objFields) { - //Fields::const_iterator j = objFields->constFind(token); - //if (j != objFields->cend()) { - // found = true; - // result.second = j.value(); - //} - } - if (!found) { - ByName::const_iterator j = scalarsMap.constFind(token); - if (j != scalarsMap.cend()) { - found = true; - result.first = scalars[j.value()].second.first; - result.second = scalars[j.value()].second.second; - if (result.first == scFont) { - named[variant][fullName] = QPair(result.first, token); - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - named[variants[i]][fullName] = QPair(result.first, token); - } - } - } else if (result.first == scColor) { - named[variant][fullName] = QPair(result.first, token); - if (!variant) { - for (int i = 1; i < variantsCount; ++i) { - named[variants[i]][fullName] = QPair(result.first, token); - } - } - } - } - } - if (!found) { - result.first = scTypesCount; - result.second = fillPrepareResult(variant, token); - } - } - } else { - throw Exception(QString("Unexpected token after '%1:', type %2").arg(name.c_str()).arg(type)); - } - return result; -} - - -Scalar readScalarData(StyleGenTokenType &type, string &token, const char *&text, const char *end, string objName = string(), const Fields *objFields = 0) { - if (type != stName) { - throw Exception(QString("Unexpected token, type %1: %2").arg(type).arg(token.c_str())); - } - - string name = token; - if (!objFields) { - ByName::const_iterator i = objectsMap.constFind(name); - if (i != objectsMap.cend()) throw Exception(QString("Redefinition of style object %1").arg(name.c_str())); - - ByName::const_iterator j = scalarsMap.constFind(name); - if (j != scalarsMap.cend()) throw Exception(QString("Redefinition of style scalar %1").arg(name.c_str())); - } - - readStyleGenToken(text, end, type, token); - if (type != stDelimeter) { - throw Exception(QString("Unexpected token, type %1: %2").arg(type).arg(token.c_str())); - } - - string fullName = objFields ? (objName + '.' + name) : name; - Scalar result; - result.first = name; - result.second = readScalarElement(name, text, end, objName, objFields, 0); - - readStyleGenToken(text, end, type, token); - while (type == stVariant) { - readStyleGenToken(text, end, type, token); - if (type != stNumber) { - throw Exception(QString("Unexpected token '%1' reading variants of '%2' scalar").arg(token.c_str()).arg(name.c_str())); - } - int variant = QString(token.c_str()).toInt(); - if (variant != 2 && variant != 3 && variant != 4) { - throw Exception(QString("Unexpected variant index '%1' in '%2' scalar").arg(token.c_str()).arg(name.c_str())); - } - readStyleGenToken(text, end, type, token); - if (type != stDelimeter) { - throw Exception(QString("Unexpected token '%1' reading variants of '%2' scalar, expected delimeter").arg(token.c_str()).arg(name.c_str())); - } - ScalarData el = readScalarElement(name, text, end, objName, objFields, variant); - if (el.first != result.second.first) { - throw Exception(QString("Type changed in variant for '%1'").arg(name.c_str())); - } - result.second.second.insert(variant, el.second[variant]); - - readStyleGenToken(text, end, type, token); - } - return result; -} - -string prepareObject(const string &cls, Fields fields, const string &obj, int variant) { - string result = "("; - Classes::const_iterator i = classes.constFind(cls); - if (i == classes.cend()) throw Exception("Unknown error :("); - - for (FieldTypesMap::const_iterator j = i.value().fields.cbegin(), e = i.value().fields.cend(); j != e;) { - result += "style::" + outputTypeNames[j.value()]; - - Fields::iterator f = fields.find(j.key()); - if (f == fields.end()) { - result += "()"; - } else if (f.value().first != j.value()) { - throw Exception(QString("Bad type of field %1 while parsing %2").arg(j.key().c_str()).arg(obj.c_str())); - } else { - if (variant == -1) { // retina - result += findScalarVariant(f.value().second, (j.value() == scSprite) ? 4 : 0); - } else { - result += findScalarVariant(f.value().second, variant); - } - } - fields.erase(f); - if (++j != e) { - result += ", "; - } - } - - if (fields.size()) { - throw Exception(QString("Unknown fields found in %1, for example %2").arg(obj.c_str()).arg(fields.begin().key().c_str())); - } - - return result + ", Qt::Uninitialized)"; -} - -bool genStyles(const QString &classes_in, const QString &classes_out, const QString &styles_in, const QString &styles_out, const QString &path_to_sprites) { - if (!genClasses(classes_in, classes_out)) return false; - - QString styles_cpp = QString(styles_out).replace(".h", ".cpp"); - if (styles_cpp == styles_out) { - cout << "Bad output file name '" << styles_out.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - QString numbers_cpp = QString(styles_cpp).replace("style_auto.cpp", "numbers.cpp"); - if (numbers_cpp == styles_cpp) { - cout << "Bad output file name '" << numbers_cpp.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - - QFile f(styles_in); - if (!f.open(QIODevice::ReadOnly)) { - cout << "Could not open styles input file '" << styles_in.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - - QString numbers_in = QString(styles_in).replace("style.txt", "numbers.txt"); - if (numbers_in == styles_in) { - cout << "Bad input file name '" << numbers_in.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - - QFile fnum(numbers_in); - if (!fnum.open(QIODevice::ReadOnly)) { - cout << "Could not open numbers input file '" << numbers_in.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - - QImage sprites[variantsCount]; - int widths[variantsCount] = { 0 }; - variantSprites = sprites; - spriteWidths = widths; - - QString sprite0(path_to_sprites + "sprite" + QString(variantPostfixes[0]) + ".png"), spriteLast(path_to_sprites + "sprite" + QString(variantPostfixes[variantsCount - 1]) + ".png"); - variantSprites[0] = QImage(sprite0); - spriteWidths[0] = variantSprites[0].width(); - for (int i = 1; i < variantsCount - 1; ++i) { - variantSprites[i] = QImage(adjustPx(variants[i], variantSprites[0].width(), true), adjustPx(variants[i], variantSprites[0].height(), true), QImage::Format_ARGB32_Premultiplied); - spriteWidths[i] = variantSprites[i].width(); - QPainter p(&variantSprites[i]); - p.setCompositionMode(QPainter::CompositionMode_Source); - p.fillRect(0, 0, variantSprites[i].width(), variantSprites[i].height(), Qt::transparent); - } - variantSprites[variantsCount - 1] = QImage(spriteLast); - spriteWidths[variantsCount - 1] = variantSprites[variantsCount - 1].width(); - - if (!variantSprites[0].width() || !variantSprites[0].height()) { - cout << "Could not open input sprite file '" << sprite0.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - if (!variantSprites[variantsCount - 1].width() || !variantSprites[variantsCount - 1].height()) { - cout << "Could not open input sprite file '" << spriteLast.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - if (adjustPx(variants[variantsCount - 1], variantSprites[0].width(), true) != variantSprites[variantsCount - 1].width()) { - cout << "Bad sprite file width '" << spriteLast.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - if (adjustPx(variants[variantsCount - 1], variantSprites[0].height(), true) != variantSprites[variantsCount - 1].height()) { - cout << "Bad sprite file height '" << spriteLast.toUtf8().constData() << "'!\n"; - QCoreApplication::exit(1); - return false; - } - - QImage grids[variantsCount]; - variantGrids = grids; - for (int i = 0; i < variantsCount; ++i) { - variantGrids[i] = QImage(variantSprites[i].width(), variantSprites[i].height(), QImage::Format_ARGB32_Premultiplied); - QPainter p(&variantGrids[i]); - p.setCompositionMode(QPainter::CompositionMode_Source); - p.fillRect(0, 0, variantSprites[i].width(), variantSprites[i].height(), Qt::transparent); - } - - QByteArray blob = f.readAll(); - const char *text = blob.constData(), *end = blob.constData() + blob.size(); - QMap byName; - QVector byIndex; - string token; - StyleGenTokenType type; - try { - while (true) { - try { - readStyleGenToken(text, end, type, token); - } catch (exception &e) { - if (e.what() != string("Unexpected end of file!")) { - throw; - } - break; - } - string name = token; - Scalar scalar = readScalarData(type, token, text, end); - if (scalar.second.first != scTypesCount) { - scalarsMap.insert(scalar.first, scalars.size()); - scalars.push_back(scalar); - if (type != stFieldFinish) throw Exception(QString("Unexpected token after scalar %1, type %2").arg(name.c_str()).arg(type)); - continue; - } - - string objType = scalar.second.second[0]; - - Object obj; - obj.first = name; - obj.second.first = objType; - - Classes::const_iterator c = classes.constFind(objType); - if (c == classes.cend()) throw Exception(QString("Unknown type %1 used for object %2").arg(objType.c_str()).arg(name.c_str())); - if (type == stConsStart) { - do { - readStyleGenToken(text, end, type, token); - string parent = token; - if (type != stName) throw Exception(QString("Unexpected token %1 while parsing object %2").arg(type).arg(name.c_str())); - - ByName::const_iterator p = objectsMap.constFind(parent); - if (p == objectsMap.cend()) throw Exception(QString("Parent object %1 not found, while parsing object %2").arg(parent.c_str()).arg(name.c_str())); - - const ObjectData &alr(objects[p.value()].second); - for (Fields::const_iterator f = alr.second.cbegin(), e = alr.second.cend(); f != e; ++f) { -// Fields::const_iterator a = obj.second.second.constFind(f.key()); -// if (a == obj.second.second.cend()) { - obj.second.second.insert(f.key(), f.value()); - if (f.value().first == scFont) { - for (int v = 0; v < variantsCount; ++v) { - named[variants[v]][name + '.' + f.key()] = QPair(f.value().first, parent + '.' + f.key()); - } - } else if (f.value().first == scColor) { - for (int v = 0; v < variantsCount; ++v) { - named[variants[v]][name + '.' + f.key()] = QPair(f.value().first, parent + '.' + f.key()); - } - } -// } - } - - readStyleGenToken(text, end, type, token); - if (type == stConsFinish) break; - if (type != stComma) throw Exception(QString("Unexpected token %1, expected , or ) while parsing object %2").arg(type).arg(name.c_str())); - } while (true); - readStyleGenToken(text, end, type, token); - } - if (type != stObjectStart) throw Exception(QString("Unexpected token %1, expected { while parsing object %2").arg(type).arg(name.c_str())); - - while (true) { - readStyleGenToken(text, end, type, token); - if (type == stObjectFinish) { - objectsMap.insert(name, objects.size()); - objects.push_back(obj); - break; - } - - for (int v = 0; v < variantsCount; ++v) { - named[variants[v]].remove(name + '.' + token); - } - - Scalar scalar = readScalarData(type, token, text, end, name, &obj.second.second); - if (scalar.second.first == scTypesCount) throw Exception(QString("Unexpected type name %1 while parsing object %2").arg(scalar.second.second[0].c_str()).arg(name.c_str())); - - obj.second.second.insert(scalar.first, scalar.second); - - if (type != stFieldFinish) throw Exception(QString("Unexpected token after scalar %1 in object %2, type %3").arg(scalar.first.c_str()).arg(name.c_str()).arg(type)); - } - } - - QByteArray outText, cppText; - { - int variant = 0; - - QTextStream tout(&outText), tcpp(&cppText); - tout << "\ -/*\n\ -Created from \'/Resources/style.txt\' by \'/MetaStyle\' project\n\ -\n\ -WARNING! All changes made in this file will be lost!\n\ -\n\ -This file is part of Telegram Desktop,\n\ -the official desktop version of Telegram messaging app, see https://telegram.org\n\ -\n\ -Telegram Desktop is free software: you can redistribute it and/or modify\n\ -it under the terms of the GNU General Public License as published by\n\ -the Free Software Foundation, either version 3 of the License, or\n\ -(at your option) any later version.\n\ -\n\ -It is distributed in the hope that it will be useful,\n\ -but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ -GNU General Public License for more details.\n\ -\n\ -In addition, as a special exception, the copyright holders give permission\n\ -to link the code of portions of this program with the OpenSSL library.\n\ -\n\ -Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\n\ -Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org\n\ -*/\n"; - tout << "#pragma once\n\n#include \"ui/style_core.h\"\n\nnamespace st {\n"; - tcpp << "\ -/*\n\ -Created from \'/Resources/style.txt\' by \'/MetaStyle\' project\n\ -\n\ -WARNING! All changes made in this file will be lost!\n\ -\n\ -This file is part of Telegram Desktop,\n\ -the official desktop version of Telegram messaging app, see https://telegram.org\n\ -\n\ -Telegram Desktop is free software: you can redistribute it and/or modify\n\ -it under the terms of the GNU General Public License as published by\n\ -the Free Software Foundation, either version 3 of the License, or\n\ -(at your option) any later version.\n\ -\n\ -It is distributed in the hope that it will be useful,\n\ -but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ -GNU General Public License for more details.\n\ -\n\ -In addition, as a special exception, the copyright holders give permission\n\ -to link the code of portions of this program with the OpenSSL library.\n\ -\n\ -Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\n\ -Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org\n\ -*/\n"; - tcpp << "#include \"stdafx.h\"\n#include \"style_auto.h\"\n\nnamespace {\n"; - for (int i = 0, l = scalars.size(); i < l; ++i) { - Scalar &sc(scalars[i]); - tout << "\textern const style::" << outputTypeNames[sc.second.first].c_str() << " &" << sc.first.c_str() << ";\n"; - tcpp << "\tstyle::" << outputTypeNames[sc.second.first].c_str() << " _" << sc.first.c_str() << findScalarVariant(sc.second.second, variant).c_str() << ";\n"; - } - tout << "\n"; - tcpp << "\n"; - for (int i = 0, l = objects.size(); i < l; ++i) { - Object &obj(objects[i]); - tout << "\textern const style::" << obj.second.first.c_str() << " &" << obj.first.c_str() << ";\n"; - tcpp << "\tstyle::" << obj.second.first.c_str() << " _" << obj.first.c_str() << prepareObject(obj.second.first, obj.second.second, obj.first, variant).c_str() << ";\n"; - } - tout << "};\n"; - tcpp << "};\n"; - - tcpp << "\nnamespace st {\n"; - for (int i = 0, l = scalars.size(); i < l; ++i) { - Scalar &sc(scalars[i]); - tcpp << "\tconst style::" << outputTypeNames[sc.second.first].c_str() << " &" << sc.first.c_str() << "(_" << sc.first.c_str() << ");\n"; - } - tcpp << "\n"; - for (int i = 0, l = objects.size(); i < l; ++i) { - Object &obj(objects[i]); - tcpp << "\tconst style::" << obj.second.first.c_str() << " &" << obj.first.c_str() << "(_" << obj.first.c_str() << ");\n"; - } - tcpp << "};\n"; - - tcpp << "\nnamespace style {\n\n"; - tcpp << "\tFontFamilies _fontFamilies;\n"; - tcpp << "\tFontDatas _fontsMap;\n"; - tcpp << "\tColorDatas _colorsMap;\n"; - tcpp << "\tint _spriteWidth = " << spriteWidths[0] << ";\n\n"; - tcpp << "\tvoid startManager() {\n"; - - tcpp << "\n\t\tif (cRetina()) {\n"; - tcpp << "\t\t\tcSetRealScale(dbisOne);\n"; - tcpp << "\t\t\t_spriteWidth = " << spriteWidths[variantsCount - 1] << ";\n\n"; - for (int i = 0, l = scalars.size(); i < l; ++i) { - Scalar &sc(scalars[i]); - if (sc.second.first == scSprite || sc.first == "spriteFile" || sc.first == "emojisFile" || sc.first == "emojiImgSize") { - string v = findScalarVariant(sc.second.second, 4); - if (v != findScalarVariant(sc.second.second, 0)) { - tcpp << "\t\t\t_" << sc.first.c_str() << " = style::" << outputTypeNames[sc.second.first].c_str() << v.c_str() << ";\n"; - } - } - } - for (int i = 0, l = objects.size(); i < l; ++i) { - Object &obj(objects[i]); - string v = prepareObject(obj.second.first, obj.second.second, obj.first, -1); // retina - if (v != prepareObject(obj.second.first, obj.second.second, obj.first, 0)) { - tcpp << "\t\t\t_" << obj.first.c_str() << " = style::" << obj.second.first.c_str() << v.c_str() << ";\n"; - } - } - tcpp << "\t\t} else switch (cScale()) {\n\n"; - for (int i = 1; i < variantsCount; ++i) { - variant = variants[i]; - const char *varName = variantNames[i]; - - tcpp << "\t\tcase " << varName << ":\n"; - tcpp << "\t\t\t_spriteWidth = " << spriteWidths[i] << ";\n\n"; - - typedef QMap FontFamilies; - FontFamilies fontFamilies; - - for (int i = 0, l = scalars.size(); i < l; ++i) { - Scalar &sc(scalars[i]); - string v = findScalarVariant(sc.second.second, variant); - if (v != findScalarVariant(sc.second.second, 0)) { - tcpp << "\t\t\t_" << sc.first.c_str() << " = style::" << outputTypeNames[sc.second.first].c_str() << v.c_str() << ";\n"; - } - } - - for (int i = 0, l = objects.size(); i < l; ++i) { - Object &obj(objects[i]); - string v = prepareObject(obj.second.first, obj.second.second, obj.first, variant); - if (v != prepareObject(obj.second.first, obj.second.second, obj.first, 0)) { - tcpp << "\t\t\t_" << obj.first.c_str() << " = style::" << obj.second.first.c_str() << v.c_str() << ";\n"; - } - } - tcpp << "\t\tbreak;\n\n"; - } - tcpp << "\t\t}\n\n"; - - Colors &clrs(colors[variant]); - for (Colors::const_iterator i = clrs.cbegin(), e = clrs.cend(); i != e; ++i) { - bool differ = false; - for (int j = 1; j < variantsCount; ++j) { - const Colors &otherClrs(colors[variants[j]]); - Colors::const_iterator k = otherClrs.constFind(i.key()); - if (k == otherClrs.cend() || k.value().color != i.value().color) { - differ = true; - break; - } - } - if (!differ) { - tcpp << "\t\t_" << i.key().c_str() << ".init(" << i.value().color.c_str() << ");\n"; - } - } - - for (int i = 0; i < variantsCount; ++i) { - variant = variants[i]; - Named &nmd(named[variant]); - while (true) { - bool found = false; - for (Named::iterator i = nmd.begin(), e = nmd.end(); i != e; ++i) { - if (i.key() == i.value().second) { - throw Exception(QString("Object '%1' is equal to itself!").arg(i.key().c_str())); - } - Named::const_iterator j = nmd.constFind(i.value().second); - if (j != nmd.cend()) { - *i = *j; - found = true; - } - } - if (!found) break; - } - } - - tcpp << "\n\t\tswitch (cScale()) {\n\n"; - for (int i = 0; i < variantsCount; ++i) { - variant = variants[i]; - const char *varName = variantNames[i]; - - tcpp << "\t\tcase " << varName << ":\n"; - - typedef QMap FontFamilies; - FontFamilies fontFamilies; - int familyIndex = 0; - ByName::const_iterator j = scalarsMap.constFind("defaultFontFamily"); - if (j != scalarsMap.cend()) { - if (scalars[j.value()].second.first == scString) { - if (scalars[j.value()].second.second.empty()) { - throw Exception(QString("Unexpected empty string in defaultFontFamily!").arg(token.c_str())); - } - string v = findScalarVariant(scalars[j.value()].second.second, variant); - tcpp << "\t\t\t_fontFamilies.push_back" << v.c_str() << ";\n"; - fontFamilies.insert(v, familyIndex++); - } else { - throw Exception(QString("defaultFontFamily has bad type!")); - } - } else { - throw Exception(QString("defaultFontFamily not found!")); - } - - Fonts &fnts(fonts[variant]); - for (Fonts::const_iterator i = fnts.cbegin(), e = fnts.cend(); i != e; ++i) { - FontFamilies::const_iterator j = fontFamilies.constFind(i.value().family); - if (j == fontFamilies.cend()) { - tcpp << "\n\t\t\t_fontFamilies.push_back" << i.value().family.c_str() << ";\n"; - j = fontFamilies.insert(i.value().family, familyIndex++); - } - tcpp << "\t\t\t_" << i.key().c_str() << ".init(" << i.value().size.c_str() << ", " << i.value().flags << ", " << j.value() << ", 0);\n"; - } - - Colors &clrs(colors[variant]); - if (!clrs.empty()) tcpp << "\n"; - for (Colors::const_iterator i = clrs.cbegin(), e = clrs.cend(); i != e; ++i) { - bool differ = false; - for (int j = 0; j < variantsCount; ++j) { - if (variant == variants[j]) continue; - - const Colors &otherClrs(colors[variants[j]]); - Colors::const_iterator k = otherClrs.constFind(i.key()); - if (k == otherClrs.cend() || k.value().color != i.value().color) { - differ = true; - break; - } - } - if (differ) { - tcpp << "\t\t\t_" << i.key().c_str() << ".init(" << i.value().color.c_str() << ");\n"; - } - } - - Named &nmd(named[variant]); - for (Named::const_iterator i = nmd.cbegin(), e = nmd.cend(); i != e; ++i) { - bool differ = false; - for (int j = 0; j < variantsCount; ++j) { - if (variant == variants[j]) continue; - - const Named &otherNmd(named[variants[j]]); - Named::const_iterator k = otherNmd.constFind(i.key()); - if (k == otherNmd.cend() || k.value().second != i.value().second) { - differ = true; - break; - } - } - if (differ) { - tcpp << "\t\t\t_" << i.key().c_str() << " = _" << i.value().second.c_str() << ";\n"; - } - } - tcpp << "\t\tbreak;\n\n"; - } - tcpp << "\t\t}\n\n"; - - variant = 0; - Named &nmd(named[variant]); - for (Named::const_iterator i = nmd.cbegin(), e = nmd.cend(); i != e; ++i) { - bool differ = false; - for (int j = 1; j < variantsCount; ++j) { - const Named &otherNmd(named[variants[j]]); - Named::const_iterator k = otherNmd.constFind(i.key()); - if (k == otherNmd.cend() || k.value().second != i.value().second) { - differ = true; - break; - } - } - if (!differ) { - tcpp << "\t\t_" << i.key().c_str() << " = _" << i.value().second.c_str() << ";\n"; - } - } - - tcpp << "\t}\n"; - tcpp << "\n};\n"; - } - - for (int i = 1; i < variantsCount - 1; ++i) { - QString spritei(path_to_sprites + "sprite" + QString(variantPostfixes[i]) + ".png"), spriteLast(path_to_sprites + "sprite" + QString(variantPostfixes[i]) + ".png"); - QByteArray sprite; - { - QBuffer sbuf(&sprite); - if (!variantSprites[i].save(&sbuf, "PNG")) { - throw Exception(("Could not write intermediate sprite '" + spritei + "'!")); - } - } - bool needResave = !QFileInfo(spritei).exists(); - if (!needResave) { - QFile sf(spritei); - if (!sf.open(QIODevice::ReadOnly)) { - needResave = true; - } else { - QByteArray already(sf.readAll()); - if (already.size() != sprite.size() || memcmp(already.constData(), sprite.constData(), already.size())) { - needResave = true; - } - } - } - if (needResave) { - QFile sf(spritei); - if (!sf.open(QIODevice::WriteOnly)) { - throw Exception(("Could not write intermediate sprite '" + spritei + "'!")); - } else { - if (sf.write(sprite) != sprite.size()) { - throw Exception(("Could not write intermediate sprite '" + spritei + "'!")); - } - } - } - } - for (int i = 0; i < variantsCount; ++i) { - QString spritei(path_to_sprites + "grid" + QString(variantPostfixes[i]) + ".png"), spriteLast(path_to_sprites + "sprite" + QString(variantPostfixes[i]) + ".png"); - QByteArray grid; - { - QBuffer gbuf(&grid); - if (!variantGrids[i].save(&gbuf, "PNG")) { - throw Exception(("Could not write intermediate grid '" + spritei + "'!")); - } - } - bool needResave = !QFileInfo(spritei).exists(); - if (!needResave) { - QFile gf(spritei); - if (!gf.open(QIODevice::ReadOnly)) { - needResave = true; - } else { - QByteArray already(gf.readAll()); - if (already.size() != grid.size() || memcmp(already.constData(), grid.constData(), already.size())) { - needResave = true; - } - } - } - if (needResave) { - QFile gf(spritei); - if (!gf.open(QIODevice::WriteOnly)) { - throw Exception(("Could not write intermediate grid '" + spritei + "'!")); - } else { - if (gf.write(grid) != grid.size()) { - throw Exception(("Could not write intermediate grid '" + spritei + "'!")); - } - } - } - } - - QFile out(styles_out), cpp(styles_cpp); - bool write_out = true; - if (out.open(QIODevice::ReadOnly)) { - QByteArray wasOut = out.readAll(); - if (wasOut.size() == outText.size()) { - if (!memcmp(wasOut.constData(), outText.constData(), outText.size())) { - write_out = false; - } - } - out.close(); - } - if (write_out) { - cout << "Style compiled, writing " << scalars.size() << " scalars and " << objects.size() << " objects.\n"; - if (!out.open(QIODevice::WriteOnly)) throw Exception("Could not open style_auto.h for writing!"); - if (out.write(outText) != outText.size()) throw Exception("Could not open style_auto.h for writing!"); - } - bool write_cpp = true; - if (cpp.open(QIODevice::ReadOnly)) { - QByteArray wasCpp = cpp.readAll(); - if (wasCpp.size() == cppText.size()) { - if (!memcmp(wasCpp.constData(), cppText.constData(), cppText.size())) { - write_cpp = false; - } - } - cpp.close(); - } - if (write_cpp) { - if (!write_out) cout << "Style updated, writing " << scalars.size() << " scalars and " << objects.size() << " objects.\n"; - if (!cpp.open(QIODevice::WriteOnly)) throw Exception("Could not open style_auto.cpp for writing!"); - if (cpp.write(cppText) != cppText.size()) throw Exception("Could not open style_auto.cpp for writing!"); - } - - QMap > numberRules; - QList numlines = fnum.readAll().split('\n'); - for (int i = 0, l = numlines.size(); i < l; ++i) { - QList strs = numlines.at(i).split(';'); - if (strs.isEmpty()) continue; - - QString code = QString::fromLatin1(strs.at(0)).trimmed(); - if (code.isEmpty() || QRegularExpression("[^0-9]").match(code).hasMatch()) { - throw Exception("Bad string in number.txt: " + numlines.at(i)); - } - - if (strs.size() < 5) { - numberRules.insert(code, QVector()); - } else { - QString lenstr = QString::fromLatin1(strs.at(4)).trimmed(), pattern = QString::fromLatin1(strs.at(3)).trimmed(); - if (QRegularExpression("[^0-9]").match(lenstr).hasMatch() || !pattern.startsWith(code + ' ')) { - throw Exception("Bad string in number.txt: " + numlines.at(i)); - } - QStringList lst = pattern.mid(code.size() + 1).split(' '); - int len = lenstr.toInt(), sum = code.size(); - QVector result; - for (int j = 0, c = lst.size(); j < c; ++j) { - if (lst.at(j).isEmpty()) continue; - if (QRegularExpression("[^X]").match(lst.at(j)).hasMatch()) { - throw Exception("Bad string in number.txt: " + numlines.at(i)); - } - result.push_back(lst.at(j).size()); - sum += lst.at(j).size(); - } - if (sum != len) { - throw Exception("Bad length in number.txt: " + numlines.at(i)); - } - numberRules.insert(code, result); - } - } - - QByteArray numText; - { - QTextStream tnum(&numText); - tnum << "\ -/*\n\ -Created from \'/Resources/style.txt\' by \'/MetaStyle\' project\n\ -\n\ -WARNING! All changes made in this file will be lost!\n\ -\n\ -This file is part of Telegram Desktop,\n\ -the official desktop version of Telegram messaging app, see https://telegram.org\n\ -\n\ -Telegram Desktop is free software: you can redistribute it and/or modify\n\ -it under the terms of the GNU General Public License as published by\n\ -the Free Software Foundation, either version 3 of the License, or\n\ -(at your option) any later version.\n\ -\n\ -It is distributed in the hope that it will be useful,\n\ -but WITHOUT ANY WARRANTY; without even the implied warranty of\n\ -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\ -GNU General Public License for more details.\n\ -\n\ -In addition, as a special exception, the copyright holders give permission\n\ -to link the code of portions of this program with the OpenSSL library.\n\ -\n\ -Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\n\ -Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org\n\ -*/\n"; - tnum << "#include \"stdafx.h\"\n#include \"numbers.h\"\n\n"; - tnum << "QVector phoneNumberParse(const QString &number) {\n"; - tnum << "\tQVector result;\n\n"; - tnum << "\tint32 len = number.size();\n"; - tnum << "\tif (len > 0) switch (number.at(0).unicode()) {\n"; - QString already; - for (QMap >::const_iterator i = numberRules.cend(), e = numberRules.cbegin(); i != e;) { - --i; - QString k = i.key(); - bool onlyLastChanged = true; - while (!already.isEmpty() && (already.size() > k.size() || !already.endsWith(k.at(already.size() - 1)))) { - if (!onlyLastChanged) { - tnum << QString("\t").repeated(1 + already.size()) << "}\n"; - tnum << QString("\t").repeated(already.size()) << "break;\n"; - } - already = already.mid(0, already.size() - 1); - onlyLastChanged = false; - } - if (already == k) { - tnum << QString("\t").repeated(1 + already.size()) << "}\n"; - } else { - bool onlyFirstCheck = true; - while (already.size() < k.size()) { - if (!onlyFirstCheck) tnum << QString("\t").repeated(1 + already.size()) << "if (len > " << already.size() << ") switch (number.at(" << already.size() << ").unicode()) {\n"; - tnum << QString("\t").repeated(1 + already.size()) << "case '" << k.at(already.size()).toLatin1() << "':\n"; - already.push_back(k.at(already.size())); - onlyFirstCheck = false; - } - } - if (i.value().isEmpty()) { - tnum << QString("\t").repeated(1 + already.size()) << "return QVector(1, " << k.size() << ");\n"; - } else { - tnum << QString("\t").repeated(1 + already.size()) << "result.reserve(" << (i.value().size() + 1) << ");\n"; - tnum << QString("\t").repeated(1 + already.size()) << "result.push_back(" << k.size() << ");\n"; - for (int j = 0, l = i.value().size(); j < l; ++j) { - tnum << QString("\t").repeated(1 + already.size()) << "result.push_back(" << i.value().at(j) << ");\n"; - } - tnum << QString("\t").repeated(1 + already.size()) << "return result;\n"; - } - } - bool onlyLastChanged = true; - while (!already.isEmpty()) { - if (!onlyLastChanged) { - tnum << QString("\t").repeated(1 + already.size()) << "}\n"; -// tnum << QString("\t").repeated(1 + already.size()) << "\return result;\n"; - } - already = already.mid(0, already.size() - 1); - onlyLastChanged = false; - } - tnum << "\t}\n\n"; - tnum << "\treturn result;\n"; - tnum << "}\n"; - } - QFile num(numbers_cpp); - bool write_num = true; - if (num.open(QIODevice::ReadOnly)) { - QByteArray wasNum = num.readAll(); - if (wasNum.size() == numText.size()) { - if (!memcmp(wasNum.constData(), numText.constData(), numText.size())) { - write_num = false; - } - } - num.close(); - } - if (write_num) { - cout << "Numbers compiled, writing..\n"; - if (!num.open(QIODevice::WriteOnly)) throw Exception("Could not open numbers.cpp for writing!"); - if (num.write(numText) != numText.size()) throw Exception("Could not open numbers.cpp for writing!"); - } - } catch (exception &e) { - cout << e.what() << "\n"; - QCoreApplication::exit(1); - return false; - } - return true; -} diff --git a/Telegram/SourceFiles/_other/genstyles.h b/Telegram/SourceFiles/_other/genstyles.h deleted file mode 100644 index 05fa8c333..000000000 --- a/Telegram/SourceFiles/_other/genstyles.h +++ /dev/null @@ -1,78 +0,0 @@ -/* -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 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using std::string; -using std::cout; -using std::cerr; -using std::exception; - -class Exception : public exception { -public: - - Exception(const QString &msg) : _msg(msg.toUtf8()) { - } - - virtual const char *what() const throw() { - return _msg.constData(); - } - virtual ~Exception() throw() { - } - -private: - QByteArray _msg; -}; - -bool genStyles(const QString &classes_in, const QString &classes_out, const QString &styles_in, const QString &styles_out, const QString &path_to_sprites); - -class GenStyles : public QObject { - Q_OBJECT - -public: - GenStyles(const QString &classes_in, const QString &classes_out, const QString &styles_in, const QString &styles_out, const QString &path_to_sprites) : QObject(0), - _classes_in(classes_in), _classes_out(classes_out), _styles_in(styles_in), _styles_out(styles_out), _path_to_sprites(path_to_sprites) { - } - -public slots: - void run() { - if (genStyles(_classes_in, _classes_out, _styles_in, _styles_out, _path_to_sprites)) { - emit finished(); - } - } - -signals: - void finished(); - -private: - - QString _classes_in, _classes_out, _styles_in, _styles_out, _path_to_sprites; -}; diff --git a/Telegram/SourceFiles/_other/msmain.cpp b/Telegram/SourceFiles/_other/msmain.cpp deleted file mode 100644 index c59c7dbc4..000000000 --- a/Telegram/SourceFiles/_other/msmain.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* -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 "msmain.h" -#include - -int main(int argc, char *argv[]) { - QString classes_in("style_classes.txt"), classes_out("style_classes.h"), styles_in("style.txt"), styles_out("style_auto.h"), path_to_sprites("./Resources/art/"); - for (int i = 0; i < argc; ++i) { - if (string("-classes_in") == argv[i]) { - if (++i < argc) classes_in = argv[i]; - } else if (string("-classes_out") == argv[i]) { - if (++i < argc) classes_out = argv[i]; - } else if (string("-styles_in") == argv[i]) { - if (++i < argc) styles_in = argv[i]; - } else if (string("-styles_out") == argv[i]) { - if (++i < argc) styles_out = argv[i]; - } else if (string("-path_to_sprites") == argv[i]) { - if (++i < argc) path_to_sprites = argv[i]; - } - } -#ifdef Q_OS_MAC - if (QDir(QString()).absolutePath() == "/") { - QString first = argc ? QString::fromLocal8Bit(argv[0]) : QString(); - if (!first.isEmpty()) { - QFileInfo info(first); - if (info.exists()) { - QDir result(info.absolutePath() + "/../../.."); - QString basePath = result.absolutePath() + '/'; - classes_in = basePath + classes_in; - classes_out = basePath + classes_out; - styles_in = basePath + styles_in; - styles_out = basePath + styles_out; - path_to_sprites = basePath + path_to_sprites; - } - } - } -#endif - QObject *taskImpl = new GenStyles(classes_in, classes_out, styles_in, styles_out, path_to_sprites); - - QCoreApplication a(argc, argv); - - QObject::connect(taskImpl, SIGNAL(finished()), &a, SLOT(quit())); - QTimer::singleShot(0, taskImpl, SLOT(run())); - - return a.exec(); -} diff --git a/Telegram/SourceFiles/_other/msmain.h b/Telegram/SourceFiles/_other/msmain.h deleted file mode 100644 index 4db672552..000000000 --- a/Telegram/SourceFiles/_other/msmain.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -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 - -#include "genstyles.h" diff --git a/Telegram/Style.plist b/Telegram/Style.plist deleted file mode 100644 index ad8b66a7a..000000000 --- a/Telegram/Style.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleExecutable - MetaStyle - CFBundleGetInfoString - MetaStyle compiler - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundlePackageType - APPL - CFBundleSignature - ???? - NOTE - - NSPrincipalClass - NSApplication - - diff --git a/Telegram/Telegram.pro b/Telegram/Telegram.pro index 89232509b..6d2ef081a 100644 --- a/Telegram/Telegram.pro +++ b/Telegram/Telegram.pro @@ -31,18 +31,16 @@ linux { codegen_style.target = style_target codegen_style.depends = FORCE -codegen_style.commands = ./../codegen/Debug/codegen_style "-I./../../Telegram/SourceFiles" "-o./GeneratedFiles/styles" "./../../Telegram/Resources/all_files.style" --rebuild +codegen_style.commands = ./../codegen/Debug/codegen_style "-I./../../Telegram/Resources" "-I./../../Telegram/SourceFiles" "-o./GeneratedFiles/styles" all_files.style --rebuild codegen_numbers.target = numbers_target codegen_numbers.depends = ./../../Telegram/Resources/numbers.txt +codegen_numbers.commands = ./../codegen/Debug/codegen_numbers "-o./GeneratedFiles" "./../../Telegram/Resources/numbers.txt" CONFIG(debug, debug|release) { -#codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./../Linux/DebugIntermediate/GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/DebugIntermediate codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./../Linux/DebugIntermediate/GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/DebugIntermediate } CONFIG(release, debug|release) { -#codegen_style.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_style "-I./SourceFiles" "-o./../Linux/ReleaseIntermediate/GeneratedFiles/styles" "./Resources/all_files.style" --rebuild && cd ../Linux/ReleaseIntermediate -codegen_numbers.commands = cd ../../Telegram && ./../Linux/codegen/Debug/codegen_numbers "-o./../Linux/ReleaseIntermediate/GeneratedFiles" "./Resources/numbers.txt" && cd ../Linux/ReleaseIntermediate } codegen_lang.target = lang_target @@ -70,6 +68,7 @@ SOURCES += \ ./GeneratedFiles/numbers.cpp \ ./GeneratedFiles/styles/style_basic.cpp \ ./GeneratedFiles/styles/style_basic_types.cpp \ + ./GeneratedFiles/styles/style_overview.cpp \ ./SourceFiles/main.cpp \ ./SourceFiles/stdafx.cpp \ ./SourceFiles/apiwrap.cpp \ @@ -155,6 +154,10 @@ SOURCES += \ ./SourceFiles/serialize/serialize_document.cpp \ ./SourceFiles/ui/buttons/peer_avatar_button.cpp \ ./SourceFiles/ui/style/style_core.cpp \ + ./SourceFiles/ui/style/style_core_color.cpp \ + ./SourceFiles/ui/style/style_core_font.cpp \ + ./SourceFiles/ui/style/style_core_icon.cpp \ + ./SourceFiles/ui/style/style_core_types.cpp \ ./SourceFiles/ui/text/text.cpp \ ./SourceFiles/ui/text/text_block.cpp \ ./SourceFiles/ui/text/text_entity.cpp \ @@ -183,6 +186,7 @@ HEADERS += \ ./GeneratedFiles/numbers.h \ ./GeneratedFiles/styles/style_basic.h \ ./GeneratedFiles/styles/style_basic_types.h \ + ./GeneratedFiles/styles/style_overview.h \ ./SourceFiles/stdafx.h \ ./SourceFiles/apiwrap.h \ ./SourceFiles/app.h \ @@ -273,6 +277,10 @@ HEADERS += \ ./SourceFiles/serialize/serialize_document.h \ ./SourceFiles/ui/buttons/peer_avatar_button.h \ ./SourceFiles/ui/style/style_core.h \ + ./SourceFiles/ui/style/style_core_color.h \ + ./SourceFiles/ui/style/style_core_font.h \ + ./SourceFiles/ui/style/style_core_icon.h \ + ./SourceFiles/ui/style/style_core_types.h \ ./SourceFiles/ui/text/text.h \ ./SourceFiles/ui/text/text_block.h \ ./SourceFiles/ui/text/text_entity.h \ @@ -332,7 +340,7 @@ CONFIG(release, debug|release) { QMAKE_CXXFLAGS_RELEASE -= -O2 QMAKE_CXXFLAGS_RELEASE += -Ofast -flto -fno-strict-aliasing -g QMAKE_LFLAGS_RELEASE -= -O1 - QMAKE_LFLAGS_RELEASE += -Ofast -flto -g -rdynamic + QMAKE_LFLAGS_RELEASE += -Ofast -flto -g -rdynamic -static-libstdc++ } # Linux 32bit fails Release link with Link-Time Optimization: virtual memory exhausted unix { @@ -344,7 +352,7 @@ unix { } } CONFIG(debug, debug|release) { - QMAKE_LFLAGS_DEBUG += -g -rdynamic + QMAKE_LFLAGS_DEBUG += -g -rdynamic -static-libstdc++ } INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.1/QtGui\ diff --git a/doc/building-qmake.md b/doc/building-qmake.md index ff6ac22e1..d54a927c2 100644 --- a/doc/building-qmake.md +++ b/doc/building-qmake.md @@ -75,10 +75,16 @@ Building ./configure make - # Build MetaStyle - mkdir -p "$srcdir/tdesktop/Linux/DebugIntermediateStyle" - cd "$srcdir/tdesktop/Linux/DebugIntermediateStyle" - qmake CONFIG+=debug "../../Telegram/MetaStyle.pro" + # Build codegen_style + mkdir -p "$srcdir/tdesktop/Linux/obj/codegen_style/Debug" + cd "$srcdir/tdesktop/Linux/obj/codegen_style/Debug" + qmake CONFIG+=debug ../../../../Telegram/build/qmake/codegen_style/codegen_style.pro + make + + # Build codegen_numbers + mkdir -p "$srcdir/tdesktop/Linux/obj/codegen_numbers/Debug" + cd "$srcdir/tdesktop/Linux/obj/codegen_numbers/Debug" + qmake CONFIG+=debug ../../../../Telegram/build/qmake/codegen_numbers/codegen_numbers.pro make # Build MetaLang diff --git a/doc/building-qtcreator.md b/doc/building-qtcreator.md index fd8c7dee3..713cb51eb 100644 --- a/doc/building-qtcreator.md +++ b/doc/building-qtcreator.md @@ -164,12 +164,24 @@ In Terminal go to **/home/user/TBuild/Libraries** and run make sudo make install +###Building Telegram codegen utilities + +In Terminal go to **/home/user/TBuild/tdesktop** and run + + mkdir -p Linux/obj/codegen_style/Debug + cd Linux/obj/codegen_style/Debug + /usr/local/Qt-5.5.1/bin/qmake CONFIG+=debug ../../../../Telegram/build/qmake/codegen_style/codegen_style.pro + make + mkdir -p ../../codegen_numbers/Debug + cd ../../codegen_numbers/Debug + /usr/local/Qt-5.5.1/bin/qmake CONFIG+=debug ../../../../Telegram/build/qmake/codegen_numbers/codegen_numbers.pro + make + ###Building Telegram Desktop * Launch Qt Creator, all projects will be taken from **/home/user/TBuild/tdesktop/Telegram** * Tools > Options > Build & Run > Qt Versions tab > Add > File System /usr/local/Qt-5.5.1/bin/qmake > **Qt 5.5.1 (Qt-5.5.1)** > Apply * Tools > Options > Build & Run > Kits tab > Desktop (default) > change **Qt version** to **Qt 5.5.1 (Qt-5.5.1)** > Apply -* Open MetaStyle.pro, configure project with paths **/home/user/TBuild/tdesktop/Linux/DebugIntermediateStyle** and **/home/user/TBuild/tdesktop/Linux/ReleaseIntermediateStyle** and build for Debug * Open MetaLang.pro, configure project with paths **/home/user/TBuild/tdesktop/Linux/DebugIntermediateLang** and **/home/user/TBuild/tdesktop/Linux/ReleaseIntermediateLang** and build for Debug * Open Telegram.pro, configure project with paths **/home/user/TBuild/tdesktop/Linux/DebugIntermediate** and **/home/user/TBuild/tdesktop/Linux/ReleaseIntermediate** and build for Debug, if GeneratedFiles are not found click **Run qmake** from **Build** menu and try again * Open Updater.pro, configure project with paths **/home/user/TBuild/tdesktop/Linux/DebugIntermediateUpdater** and **/home/user/TBuild/tdesktop/Linux/ReleaseIntermediateUpdater** and build for Debug diff --git a/doc/building-xcode-old.md b/doc/building-xcode-old.md index d7664e4a2..934a99fb8 100644 --- a/doc/building-xcode-old.md +++ b/doc/building-xcode-old.md @@ -4,6 +4,8 @@ Choose a folder for the future build, for example **/Users/user/TBuild** There you will have two folders, **Libraries** for third-party libs and **tdesktop** (or **tdesktop-master**) for the app. +**IMPORTANT** You are required to build and install Qt 5.5.1 from the [Xcode 7](building-xcode.md) instructions first. + ###Clone source code By git – in Terminal go to **/Users/user/TBuild** and run @@ -192,7 +194,6 @@ building (**make** command) will take really long time. ###Building Telegram Desktop * Launch Xcode, all projects will be taken from **/Users/user/TBuild/tdesktop/Telegram** -* Open MetaStyle.xcodeproj and build for Debug (Release optionally) * Open MetaEmoji.xcodeproj and build for Debug (Release optionally) * Open MetaLang.xcodeproj and build for Debug (Release optionally) * Open Telegram.xcodeproj and build for Debug diff --git a/doc/building-xcode.md b/doc/building-xcode.md index 0aba04026..e63ab74de 100644 --- a/doc/building-xcode.md +++ b/doc/building-xcode.md @@ -251,7 +251,6 @@ In Terminal go to **/Users/user/TBuild/Libraries** and run: ###Building Telegram Desktop * Launch Xcode, all projects will be taken from **/Users/user/TBuild/tdesktop/Telegram** -* Open MetaStyle.xcodeproj and build for Debug (Release optionally) * Open MetaEmoji.xcodeproj and build for Debug (Release optionally) * Open MetaLang.xcodeproj and build for Debug (Release optionally) * Open Telegram.xcodeproj and build for Debug From 4aa1f1334c467588dbaf531f830e48f1a0960d9b Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 22 Apr 2016 13:01:41 +0300 Subject: [PATCH 16/16] Dev version 0.9.45: first version on new styles codegen. --- Telegram/SourceFiles/config.h | 6 +++--- Telegram/Telegram.plist | 2 +- Telegram/Telegram.rc | 8 ++++---- Telegram/Telegram.xcodeproj/project.pbxproj | 12 ++++++------ Telegram/Version | 8 ++++---- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h index 359dda896..45a0d4ec4 100644 --- a/Telegram/SourceFiles/config.h +++ b/Telegram/SourceFiles/config.h @@ -20,9 +20,9 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ #pragma once -static const int32 AppVersion = 9044; -static const wchar_t *AppVersionStr = L"0.9.44"; -static const bool DevVersion = false; +static const int32 AppVersion = 9045; +static const wchar_t *AppVersionStr = L"0.9.45"; +static const bool DevVersion = true; //#define BETA_VERSION (9044000ULL) // just comment this line to build public version static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)"; diff --git a/Telegram/Telegram.plist b/Telegram/Telegram.plist index 79f3fa3bd..836dcbf98 100644 --- a/Telegram/Telegram.plist +++ b/Telegram/Telegram.plist @@ -11,7 +11,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.9.44 + 0.9.45 CFBundleSignature ???? CFBundleURLTypes diff --git a/Telegram/Telegram.rc b/Telegram/Telegram.rc index 0b4ce89d7..280d58732 100644 --- a/Telegram/Telegram.rc +++ b/Telegram/Telegram.rc @@ -34,8 +34,8 @@ IDI_ICON1 ICON "Resources\\art\\icon256.ico" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,9,44,0 - PRODUCTVERSION 0,9,44,0 + FILEVERSION 0,9,45,0 + PRODUCTVERSION 0,9,45,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -51,10 +51,10 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "Telegram Messenger LLP" - VALUE "FileVersion", "0.9.44.0" + VALUE "FileVersion", "0.9.45.0" VALUE "LegalCopyright", "Copyright (C) 2014-2016" VALUE "ProductName", "Telegram Desktop" - VALUE "ProductVersion", "0.9.44.0" + VALUE "ProductVersion", "0.9.45.0" END END BLOCK "VarFileInfo" diff --git a/Telegram/Telegram.xcodeproj/project.pbxproj b/Telegram/Telegram.xcodeproj/project.pbxproj index f24441e5e..61c59c896 100644 --- a/Telegram/Telegram.xcodeproj/project.pbxproj +++ b/Telegram/Telegram.xcodeproj/project.pbxproj @@ -1859,7 +1859,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.9.44; + CURRENT_PROJECT_VERSION = 0.9.45; DEBUG_INFORMATION_FORMAT = dwarf; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -1878,7 +1878,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COPY_PHASE_STRIP = YES; - CURRENT_PROJECT_VERSION = 0.9.44; + CURRENT_PROJECT_VERSION = 0.9.45; GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_OPTIMIZATION_LEVEL = fast; GCC_PREFIX_HEADER = ./SourceFiles/stdafx.h; @@ -1907,10 +1907,10 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.9.44; + CURRENT_PROJECT_VERSION = 0.9.45; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DYLIB_COMPATIBILITY_VERSION = 0.9; - DYLIB_CURRENT_VERSION = 0.9.44; + DYLIB_CURRENT_VERSION = 0.9.45; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ""; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; @@ -2047,10 +2047,10 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 0.9.44; + CURRENT_PROJECT_VERSION = 0.9.45; DEBUG_INFORMATION_FORMAT = dwarf; DYLIB_COMPATIBILITY_VERSION = 0.9; - DYLIB_CURRENT_VERSION = 0.9.44; + DYLIB_CURRENT_VERSION = 0.9.45; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ""; diff --git a/Telegram/Version b/Telegram/Version index 589e72d56..0baf9d905 100644 --- a/Telegram/Version +++ b/Telegram/Version @@ -1,6 +1,6 @@ -AppVersion 9044 +AppVersion 9045 AppVersionStrMajor 0.9 -AppVersionStrSmall 0.9.44 -AppVersionStr 0.9.44 -DevChannel 0 +AppVersionStrSmall 0.9.45 +AppVersionStr 0.9.45 +DevChannel 1 BetaVersion 0