mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-02-20 23:27:23 +00:00
Merge branch 'dev' into games
This commit is contained in:
commit
610d42fd8d
@ -34,8 +34,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico"
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,10,2,1
|
||||
PRODUCTVERSION 0,10,2,1
|
||||
FILEVERSION 0,10,3,0
|
||||
PRODUCTVERSION 0,10,3,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -51,10 +51,10 @@ BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Telegram Messenger LLP"
|
||||
VALUE "FileVersion", "0.10.2.1"
|
||||
VALUE "FileVersion", "0.10.3.0"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2014-2016"
|
||||
VALUE "ProductName", "Telegram Desktop"
|
||||
VALUE "ProductVersion", "0.10.2.1"
|
||||
VALUE "ProductVersion", "0.10.3.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 0,10,2,1
|
||||
PRODUCTVERSION 0,10,2,1
|
||||
FILEVERSION 0,10,3,0
|
||||
PRODUCTVERSION 0,10,3,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -43,10 +43,10 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Telegram Messenger LLP"
|
||||
VALUE "FileDescription", "Telegram Updater"
|
||||
VALUE "FileVersion", "0.10.2.1"
|
||||
VALUE "FileVersion", "0.10.3.0"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2014-2016"
|
||||
VALUE "ProductName", "Telegram Desktop"
|
||||
VALUE "ProductVersion", "0.10.2.1"
|
||||
VALUE "ProductVersion", "0.10.3.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
@ -138,18 +138,6 @@ QString BetaSignature;
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QString workDir;
|
||||
#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() + "/../../..");
|
||||
workDir = result.absolutePath() + '/';
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
QString remove;
|
||||
int version = 0;
|
||||
|
@ -160,6 +160,14 @@ int main(int argc, const char * argv[]) {
|
||||
|
||||
writeLog([@"Starting update files iteration, path: " stringByAppendingString: srcEnum]);
|
||||
|
||||
NSString *contentsPath = [appDirFull stringByAppendingString: @"/Contents"];
|
||||
writeLog([[NSArray arrayWithObjects: @"Clearing dir ", contentsPath, nil] componentsJoinedByString:@""]);
|
||||
if (![fileManager removeItemAtPath:contentsPath error:nil]) {
|
||||
writeLog([@"Failed to clear path for directory " stringByAppendingString:contentsPath]);
|
||||
delFolder();
|
||||
return -1;
|
||||
}
|
||||
|
||||
NSArray *keys = [NSArray arrayWithObject:NSURLIsDirectoryKey];
|
||||
NSDirectoryEnumerator *enumerator = [fileManager
|
||||
enumeratorAtURL:[NSURL fileURLWithPath:srcEnum]
|
||||
|
@ -1065,8 +1065,8 @@ void AppClass::checkMapVersion() {
|
||||
if (Local::oldMapVersion() < AppVersion) {
|
||||
if (Local::oldMapVersion()) {
|
||||
QString versionFeatures;
|
||||
if ((cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 9058) {
|
||||
versionFeatures = QString::fromUtf8("\xe2\x80\x94 Alpha version of an embedded video player");
|
||||
if ((cAlphaVersion() || cBetaVersion()) && Local::oldMapVersion() < 10003) {
|
||||
versionFeatures = QString::fromUtf8("\xe2\x80\x94 New cute design for the Settings page");
|
||||
} else if (Local::oldMapVersion() < 10000) {
|
||||
versionFeatures = langNewVersionText();
|
||||
} else {
|
||||
|
@ -1355,7 +1355,7 @@ RevokePublicLinkBox::RevokePublicLinkBox(base::lambda_unique<void()> &&revokeCal
|
||||
, _revokeWidth(st::normalFont->width(lang(lng_channels_too_much_public_revoke)))
|
||||
, _aboutRevoke(this, lang(lng_channels_too_much_public_about), FlatLabel::InitType::Simple, st::aboutRevokePublicLabel)
|
||||
, _cancel(this, lang(lng_cancel), st::cancelBoxButton)
|
||||
, _revokeCallback(std::move(revokeCallback)) {
|
||||
, _revokeCallback(std_::move(revokeCallback)) {
|
||||
setMouseTracking(true);
|
||||
|
||||
MTP::send(MTPchannels_GetAdminedPublicChannels(), rpcDone(&RevokePublicLinkBox::getPublicDone), rpcFail(&RevokePublicLinkBox::getPublicFail));
|
||||
@ -1406,7 +1406,7 @@ void RevokePublicLinkBox::mousePressEvent(QMouseEvent *e) {
|
||||
void RevokePublicLinkBox::mouseReleaseEvent(QMouseEvent *e) {
|
||||
auto pressed = createAndSwap(_pressed);
|
||||
setCursor((_selected || _pressed) ? style::cur_pointer : style::cur_default);
|
||||
if (pressed == _selected) {
|
||||
if (pressed && pressed == _selected) {
|
||||
auto text_method = pressed->isMegagroup() ? lng_channels_too_much_public_revoke_confirm_group : lng_channels_too_much_public_revoke_confirm_channel;
|
||||
auto text = text_method(lt_link, qsl("telegram.me/") + pressed->userName(), lt_group, pressed->name);
|
||||
weakRevokeConfirmBox = new ConfirmBox(text, lang(lng_channels_too_much_public_revoke));
|
||||
|
@ -24,6 +24,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||
#include <vector>
|
||||
#include <QtCore/QString>
|
||||
#include <QtCore/QStringList>
|
||||
#include <QtCore/QtMath>
|
||||
|
||||
namespace codegen {
|
||||
namespace style {
|
||||
@ -78,7 +79,7 @@ inline int pxAdjust(int value, int scale) {
|
||||
if (value < 0) {
|
||||
return -pxAdjust(-value, scale);
|
||||
}
|
||||
return static_cast<int>(std::floor((value * scale / 4.) + 0.1));
|
||||
return qFloor((value * scale / 4.) + 0.1);
|
||||
}
|
||||
|
||||
struct point {
|
||||
|
@ -339,6 +339,13 @@ inline constexpr typename remove_reference<T>::type &&move(T &&value) noexcept {
|
||||
return static_cast<typename remove_reference<T>::type&&>(value);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
void swap(T &a, T &b) {
|
||||
T tmp = move(a);
|
||||
a = move(b);
|
||||
b = move(tmp);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
struct remove_const {
|
||||
using type = T;
|
||||
@ -510,7 +517,7 @@ struct is_base_of {
|
||||
template <typename T>
|
||||
T createAndSwap(T &value) {
|
||||
T result = T();
|
||||
std::swap(result, value);
|
||||
std_::swap(result, value);
|
||||
return std_::move(result);
|
||||
}
|
||||
|
||||
|
@ -417,7 +417,7 @@ private:
|
||||
}
|
||||
|
||||
static void destroyNode(Subscription::Node *node) {
|
||||
if (auto that = node->observable.lock()) {
|
||||
if (auto that = node->observable.toStrongRef()) {
|
||||
static_cast<CommonObservableData*>(that.data())->remove(node);
|
||||
}
|
||||
}
|
||||
|
@ -39,9 +39,9 @@ public:
|
||||
, _plaindata(createAndSwap(other._plaindata)) {
|
||||
}
|
||||
vector_of_moveable &operator=(vector_of_moveable &&other) {
|
||||
std::swap(_size, other._size);
|
||||
std::swap(_capacity, other._capacity);
|
||||
std::swap(_plaindata, other._plaindata);
|
||||
std_::swap(_size, other._size);
|
||||
std_::swap(_capacity, other._capacity);
|
||||
std_::swap(_plaindata, other._plaindata);
|
||||
return *this;
|
||||
}
|
||||
|
||||
@ -165,7 +165,7 @@ private:
|
||||
new (newLocation) T(std_::move(*oldLocation));
|
||||
oldLocation->~T();
|
||||
}
|
||||
std::swap(_plaindata, newPlainData);
|
||||
std_::swap(_plaindata, newPlainData);
|
||||
_capacity = newCapacity;
|
||||
operator delete[](newPlainData);
|
||||
}
|
||||
|
@ -22,9 +22,9 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
|
||||
|
||||
#include "core/basic_types.h"
|
||||
|
||||
#define BETA_VERSION_MACRO (10002001ULL)
|
||||
#define BETA_VERSION_MACRO (0ULL)
|
||||
|
||||
constexpr int AppVersion = 10002;
|
||||
constexpr str_const AppVersionStr = "0.10.2";
|
||||
constexpr bool AppAlphaVersion = false;
|
||||
constexpr int AppVersion = 10003;
|
||||
constexpr str_const AppVersionStr = "0.10.3";
|
||||
constexpr bool AppAlphaVersion = true;
|
||||
constexpr uint64 AppBetaVersion = BETA_VERSION_MACRO;
|
||||
|
@ -8458,7 +8458,7 @@ void GoToMessageClickHandler::onClickImpl() const {
|
||||
if (current && current->history()->peer->id == peer()) {
|
||||
App::main()->pushReplyReturn(current);
|
||||
}
|
||||
Ui::showPeerHistory(peer(), msgid());
|
||||
Ui::showPeerHistory(peer(), msgid(), Ui::ShowWay::Forward);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3451,7 +3451,7 @@ void MainWidget::usernameResolveDone(QPair<MsgId, QString> msgIdAndStartToken, c
|
||||
_history->resizeEvent(0);
|
||||
}
|
||||
}
|
||||
Ui::showPeerHistory(peer->id, msgId);
|
||||
Ui::showPeerHistory(peer->id, msgId, Ui::ShowWay::Forward);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -98,15 +98,15 @@ Ui::LeftOutlineButton *ActionsWidget::addButton(const QString &text, const char
|
||||
result->show();
|
||||
|
||||
int top = buttonsBottom() + skipHeight;
|
||||
resizeButton(result, top);
|
||||
resizeButton(result, width(), top);
|
||||
|
||||
_buttons.push_back(result);
|
||||
return result;
|
||||
};
|
||||
|
||||
void ActionsWidget::resizeButton(Ui::LeftOutlineButton *button, int top) {
|
||||
void ActionsWidget::resizeButton(Ui::LeftOutlineButton *button, int newWidth, int top) {
|
||||
int left = defaultOutlineButtonLeft();
|
||||
int availableWidth = width() - left - st::profileBlockMarginRight;
|
||||
int availableWidth = newWidth - left - st::profileBlockMarginRight;
|
||||
accumulate_min(availableWidth, st::profileBlockOneLineWidthMax);
|
||||
button->resizeToWidth(availableWidth);
|
||||
button->moveToLeft(left, top);
|
||||
@ -242,7 +242,7 @@ void ActionsWidget::refreshLeaveChannel() {
|
||||
|
||||
int ActionsWidget::resizeGetHeight(int newWidth) {
|
||||
for_const (auto button, _buttons) {
|
||||
resizeButton(button, button->y());
|
||||
resizeButton(button, newWidth, button->y());
|
||||
}
|
||||
return buttonsBottom();
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ private:
|
||||
|
||||
Ui::LeftOutlineButton *addButton(const QString &text, const char *slot
|
||||
, const style::OutlineButton &st = st::defaultLeftOutlineButton, int skipHeight = 0);
|
||||
void resizeButton(Ui::LeftOutlineButton *button, int top);
|
||||
void resizeButton(Ui::LeftOutlineButton *button, int newWidth, int top);
|
||||
|
||||
QString getBlockButtonText() const;
|
||||
bool hasBotCommand(const QString &command) const;
|
||||
|
@ -84,7 +84,7 @@ void SharedMediaWidget::notifyPeerUpdated(const Notify::PeerUpdate &update) {
|
||||
int SharedMediaWidget::resizeGetHeight(int newWidth) {
|
||||
int newHeight = contentTop();
|
||||
|
||||
resizeButtons(&newHeight);
|
||||
resizeButtons(newWidth, &newHeight);
|
||||
|
||||
return newHeight;
|
||||
}
|
||||
@ -135,11 +135,11 @@ void SharedMediaWidget::onMediaChosen() {
|
||||
}
|
||||
}
|
||||
|
||||
void SharedMediaWidget::resizeButtons(int *top) {
|
||||
void SharedMediaWidget::resizeButtons(int newWidth, int *top) {
|
||||
t_assert(top != nullptr);
|
||||
|
||||
int left = defaultOutlineButtonLeft();
|
||||
int availableWidth = width() - left - st::profileBlockMarginRight;
|
||||
int availableWidth = newWidth - left - st::profileBlockMarginRight;
|
||||
accumulate_min(availableWidth, st::profileBlockOneLineWidthMax);
|
||||
for_const (auto button, _mediaButtons) {
|
||||
if (!button) continue;
|
||||
|
@ -53,7 +53,7 @@ private:
|
||||
void refreshButton(MediaOverviewType type);
|
||||
void refreshVisibility();
|
||||
|
||||
void resizeButtons(int *top);
|
||||
void resizeButtons(int newWidth, int *top);
|
||||
|
||||
Ui::LeftOutlineButton *_mediaButtons[OverviewCount] = { nullptr };
|
||||
History *_history;
|
||||
|
@ -24,31 +24,31 @@ public:
|
||||
|
||||
PsMacWindowPrivate();
|
||||
|
||||
void setWindowBadge(const QString &str);
|
||||
void startBounce();
|
||||
void setWindowBadge(const QString &str);
|
||||
void startBounce();
|
||||
|
||||
void updateDelegate();
|
||||
|
||||
void showNotify(uint64 peer, int32 msgId, const QPixmap &pix, const QString &title, const QString &subtitle, const QString &msg, bool withReply);
|
||||
void clearNotifies(uint64 peer = 0);
|
||||
|
||||
void enableShadow(WId winId);
|
||||
|
||||
void showNotify(uint64 peer, int32 msgId, const QPixmap &pix, const QString &title, const QString &subtitle, const QString &msg, bool withReply);
|
||||
void clearNotifies(uint64 peer = 0);
|
||||
|
||||
void enableShadow(WId winId);
|
||||
|
||||
bool filterNativeEvent(void *event);
|
||||
|
||||
virtual void activeSpaceChanged() {
|
||||
}
|
||||
virtual void activeSpaceChanged() {
|
||||
}
|
||||
virtual void darkModeChanged() {
|
||||
}
|
||||
virtual void notifyClicked(unsigned long long peer, int msgid) {
|
||||
}
|
||||
virtual void notifyReplied(unsigned long long peer, int msgid, const char *str) {
|
||||
}
|
||||
|
||||
virtual void notifyClicked(unsigned long long peer, int msgid) {
|
||||
}
|
||||
virtual void notifyReplied(unsigned long long peer, int msgid, const char *str) {
|
||||
}
|
||||
|
||||
~PsMacWindowPrivate();
|
||||
|
||||
PsMacWindowData *data;
|
||||
|
||||
PsMacWindowData *data;
|
||||
|
||||
};
|
||||
|
||||
void objc_holdOnTop(WId winId);
|
||||
@ -89,7 +89,6 @@ QByteArray objc_downloadPathBookmark(const QString &path);
|
||||
QByteArray objc_pathBookmark(const QString &path);
|
||||
void objc_downloadPathEnableAccess(const QByteArray &bookmark);
|
||||
|
||||
class objc_FileBookmarkData;
|
||||
class objc_FileBookmark {
|
||||
public:
|
||||
objc_FileBookmark(const QByteArray &bookmark);
|
||||
@ -103,6 +102,9 @@ public:
|
||||
~objc_FileBookmark();
|
||||
|
||||
private:
|
||||
#ifdef OS_MAC_STORE
|
||||
class objc_FileBookmarkData;
|
||||
objc_FileBookmarkData *data = nullptr;
|
||||
#endif // OS_MAC_STORE
|
||||
|
||||
};
|
||||
|
@ -1160,7 +1160,7 @@ namespace {
|
||||
QMutex _bookmarksMutex;
|
||||
}
|
||||
|
||||
class objc_FileBookmarkData {
|
||||
class objc_FileBookmark::objc_FileBookmarkData {
|
||||
public:
|
||||
~objc_FileBookmarkData() {
|
||||
if (url) [url release];
|
||||
|
@ -1636,7 +1636,7 @@ void PeerOpenClickHandler::onClickImpl() const {
|
||||
if (!peer()->asChannel()->isPublic() && !peer()->asChannel()->amIn()) {
|
||||
Ui::showLayer(new InformBox(lang((peer()->isMegagroup()) ? lng_group_not_accessible : lng_channel_not_accessible)));
|
||||
} else {
|
||||
Ui::showPeerHistory(peer(), ShowAtUnreadMsgId);
|
||||
Ui::showPeerHistory(peer(), ShowAtUnreadMsgId, Ui::ShowWay::Forward);
|
||||
}
|
||||
} else {
|
||||
Ui::showPeerProfile(peer());
|
||||
|
@ -301,7 +301,7 @@ if [ "$BuildTarget" == "mac" ] || [ "$BuildTarget" == "mac32" ] || [ "$BuildTarg
|
||||
hdiutil convert tsetup.dmg -format UDZO -imagekey zlib-level=9 -ov -o "$SetupFile"
|
||||
fi
|
||||
cd "$ReleasePath"
|
||||
"./Packer.app/Contents/MacOS/Packer" -path "$BinaryName.app" -version $VersionForPacker $AlphaBetaParam
|
||||
"./Packer" -path "$BinaryName.app" -version $VersionForPacker $AlphaBetaParam
|
||||
echo "Packer done!"
|
||||
|
||||
if [ "$BetaVersion" != "0" ]; then
|
||||
|
@ -83,7 +83,7 @@ elif [ "$BuildTarget" == "mac" ]; then
|
||||
fi
|
||||
UpdateFile="tmacupd$AppVersion"
|
||||
SetupFile="tsetup.$AppVersionStrFull.dmg"
|
||||
ReleasePath="$HomePath/../Mac/Release"
|
||||
ReleasePath="$HomePath/../out/Release"
|
||||
RemoteFolder="tmac"
|
||||
Mac32DeployPath="$HomePath/../../tother/tmac32/$AppVersionStrMajor/$AppVersionStrFull"
|
||||
Mac32UpdateFile="tmac32upd$AppVersion"
|
||||
|
@ -89,11 +89,6 @@ call :repl "Replace=(AppVersion\s+=) (\s*)\d+/$1$2 %VersionFull%" "Filename=%Ver
|
||||
call :repl "Replace=(AppVersionStr\s+=) (\s*)[&hat;;]+/$1$2 "%VersionStrSmall%"" "Filename=%VersionHeaderPath%" || goto :error
|
||||
call :repl "Replace=(AppAlphaVersion\s+=) (\s*)[a-z]+/$1$2 %VersionAlphaBool%" "Filename=%VersionHeaderPath%" || goto :error
|
||||
|
||||
echo Patching project.pbxproj...
|
||||
set "TelegramProjectPath=%FullScriptPath%..\Telegram.xcodeproj\project.pbxproj"
|
||||
call :repl "Replace=(TDESKTOP_MAJOR_VERSION\s+=) (\s*)[&hat;;]+/$1$2 %VersionMajor%.%VersionMinor%" "Filename=%TelegramProjectPath%" || goto :error
|
||||
call :repl "Replace=(TDESKTOP_VERSION\s+=) (\s*)[&hat;;]+/$1$2 %VersionStrSmall%" "Filename=%TelegramProjectPath%" || goto :error
|
||||
|
||||
echo Patching Telegram.rc...
|
||||
set "ResourcePath=%FullScriptPath%..\Resources\winrc\Telegram.rc"
|
||||
call :repl "Replace=(FILEVERSION) (\s*)\d+,\d+,\d+,\d+/$1$2 %VersionMajor%,%VersionMinor%,%VersionPatch%,%VersionBeta%" "Filename=%ResourcePath%" || goto :error
|
||||
|
@ -1,6 +1,6 @@
|
||||
AppVersion 10002
|
||||
AppVersion 10003
|
||||
AppVersionStrMajor 0.10
|
||||
AppVersionStrSmall 0.10.2
|
||||
AppVersionStr 0.10.2
|
||||
AlphaChannel 0
|
||||
BetaVersion 10002001
|
||||
AppVersionStrSmall 0.10.3
|
||||
AppVersionStr 0.10.3
|
||||
AlphaChannel 1
|
||||
BetaVersion 0
|
||||
|
@ -51,7 +51,7 @@
|
||||
],
|
||||
},
|
||||
'includes': [
|
||||
'common_executable.gypi',
|
||||
'common_executable.gypi',
|
||||
'telegram_qrc.gypi',
|
||||
'telegram_win.gypi',
|
||||
'telegram_mac.gypi',
|
||||
|
@ -25,4 +25,10 @@
|
||||
'includes': [
|
||||
'common.gypi',
|
||||
],
|
||||
'msvs_settings': {
|
||||
'VCLinkerTool': {
|
||||
'SubSystem': '<(win_subsystem)',
|
||||
'ImportLibrary': '<(PRODUCT_DIR)/<(_target_name).lib',
|
||||
},
|
||||
},
|
||||
}
|
||||
|
@ -42,10 +42,8 @@
|
||||
'TreatWChar_tAsBuiltInType': 'false',
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'SubSystem': '<(win_subsystem)',
|
||||
'MinimumRequiredVersion': '5.01',
|
||||
'ImageHasSafeExceptionHandlers': 'false', # Disable /SAFESEH
|
||||
'ImportLibrary': '<(PRODUCT_DIR)/<(_target_name).lib',
|
||||
},
|
||||
},
|
||||
'libraries': [
|
||||
|
Loading…
Reference in New Issue
Block a user