0.7.21.dev version prepared for os x

This commit is contained in:
John Preston 2015-03-19 14:24:23 +03:00
parent 1f7e39e184
commit 8d614463ae
16 changed files with 2887 additions and 2792 deletions

View File

@ -51,7 +51,7 @@ const QPixmap &Image::pix(int32 w, int32 h) const {
checkload(); checkload();
if (w <= 0 || !width() || !height()) { if (w <= 0 || !width() || !height()) {
w = width() * cIntRetinaFactor(); w = width();
} else if (cRetina()) { } else if (cRetina()) {
w *= cIntRetinaFactor(); w *= cIntRetinaFactor();
h *= cIntRetinaFactor(); h *= cIntRetinaFactor();

View File

@ -132,8 +132,8 @@ namespace {
return false; return false;
} }
const QRegularExpression reDomain(QString::fromUtf8("(?<![A-Za-z\\$0-9А-Яа-яёЁ\\-\\_%=])(?:([a-zA-Z]+)://)?((?:[A-Za-zА-яА-ЯёЁ0-9\\-\\_]+\\.){1,5}([A-Za-zрф\\-\\d]{2,22})(\\:\\d+)?)")); const QRegularExpression reDomain(QString::fromUtf8("(?<![A-Za-z\\$0-9А-Яа-яёЁ\\-\\_%=\\.])(?:([a-zA-Z]+)://)?((?:[A-Za-zА-яА-ЯёЁ0-9\\-\\_]+\\.){1,5}([A-Za-zрф\\-\\d]{2,22})(\\:\\d+)?)"));
const QRegularExpression reExplicitDomain(QString::fromUtf8("(?<![A-Za-z\\$0-9А-Яа-яёЁ\\-\\_%=])(?:([a-zA-Z]+)://)((?:[A-Za-zА-яА-ЯёЁ0-9\\-\\_]+\\.){0,5}([A-Za-zрф\\-\\d]{2,22})(\\:\\d+)?)")); const QRegularExpression reExplicitDomain(QString::fromUtf8("(?<![A-Za-z\\$0-9А-Яа-яёЁ\\-\\_%=\\.])(?:([a-zA-Z]+)://)((?:[A-Za-zА-яА-ЯёЁ0-9\\-\\_]+\\.){0,5}([A-Za-zрф\\-\\d]{2,22})(\\:\\d+)?)"));
const QRegularExpression reMailName(qsl("[a-zA-Z\\-_\\.0-9]{1,256}$")); const QRegularExpression reMailName(qsl("[a-zA-Z\\-_\\.0-9]{1,256}$"));
const QRegularExpression reMailStart(qsl("^[a-zA-Z\\-_\\.0-9]{1,256}\\@")); const QRegularExpression reMailStart(qsl("^[a-zA-Z\\-_\\.0-9]{1,256}\\@"));
const QRegularExpression reHashtag(qsl("(^|[\\s\\.,:;<>|'\"\\[\\]\\{\\}`\\~\\!\\%\\^\\*\\(\\)\\-\\+=\\x10])#[A-Za-z_\\.0-9]{2,20}([\\s\\.,:;<>|'\"\\[\\]\\{\\}`\\~\\!\\%\\^\\*\\(\\)\\-\\+=\\x10]|$)")); const QRegularExpression reHashtag(qsl("(^|[\\s\\.,:;<>|'\"\\[\\]\\{\\}`\\~\\!\\%\\^\\*\\(\\)\\-\\+=\\x10])#[A-Za-z_\\.0-9]{2,20}([\\s\\.,:;<>|'\"\\[\\]\\{\\}`\\~\\!\\%\\^\\*\\(\\)\\-\\+=\\x10]|$)"));

View File

@ -968,6 +968,7 @@ History::History(const PeerId &peerId) : width(0), height(0)
, newLoaded(true) , newLoaded(true)
, last(0) , last(0)
, activeMsgId(0) , activeMsgId(0)
, draftToId(0)
, lastWidth(0) , lastWidth(0)
, lastScrollTop(History::ScrollMax) , lastScrollTop(History::ScrollMax)
, mute(isNotifyMuted(peer->notify)) , mute(isNotifyMuted(peer->notify))

View File

@ -45,7 +45,7 @@ typedef QList<ToPrepareMedia> ToPrepareMedias;
typedef QMap<int32, QByteArray> LocalFileParts; typedef QMap<int32, QByteArray> LocalFileParts;
struct ReadyLocalMedia { struct ReadyLocalMedia {
ReadyLocalMedia(ToPrepareMediaType type, const QString &file, const QString &filename, int32 filesize, const QByteArray &data, const uint64 &id, const uint64 &thumbId, const QString &thumbExt, const PeerId &peer, const MTPPhoto &photo, const PreparedPhotoThumbs &photoThumbs, const MTPDocument &document, const QByteArray &jpeg, bool ctrlShiftEnter, MsgId replyTo) : ReadyLocalMedia(ToPrepareMediaType type, const QString &file, const QString &filename, int32 filesize, const QByteArray &data, const uint64 &id, const uint64 &thumbId, const QString &thumbExt, const PeerId &peer, const MTPPhoto &photo, const PreparedPhotoThumbs &photoThumbs, const MTPDocument &document, const QByteArray &jpeg, bool ctrlShiftEnter, MsgId replyTo) :
type(type), file(file), filename(filename), filesize(filesize), data(data), thumbExt(thumbExt), id(id), thumbId(thumbId), peer(peer), photo(photo), document(document), photoThumbs(photoThumbs), ctrlShiftEnter(ctrlShiftEnter), replyTo(replyTo) { replyTo(replyTo), type(type), file(file), filename(filename), filesize(filesize), data(data), thumbExt(thumbExt), id(id), thumbId(thumbId), peer(peer), photo(photo), document(document), photoThumbs(photoThumbs), ctrlShiftEnter(ctrlShiftEnter) {
if (!jpeg.isEmpty()) { if (!jpeg.isEmpty()) {
int32 size = jpeg.size(); int32 size = jpeg.size();
for (int32 i = 0, part = 0; i < size; i += UploadPartSize, ++part) { for (int32 i = 0, part = 0; i < size; i += UploadPartSize, ++part) {

View File

@ -24,6 +24,7 @@ consts = 0
funcsNow = 0 funcsNow = 0
enums = []; enums = [];
funcsDict = {}; funcsDict = {};
funcsList = [];
typesDict = {}; typesDict = {};
TypesDict = {}; TypesDict = {};
typesList = []; typesList = [];
@ -262,6 +263,7 @@ with open('scheme.tl') as f:
funcs = funcs + 1; funcs = funcs + 1;
if (not restype in funcsDict): if (not restype in funcsDict):
funcsList.append(restype);
funcsDict[restype] = []; funcsDict[restype] = [];
# TypesDict[restype] = resType; # TypesDict[restype] = resType;
funcsDict[restype].append([name, typeid, prmsList, prms, hasFlags, conditions]); funcsDict[restype].append([name, typeid, prmsList, prms, hasFlags, conditions]);
@ -278,9 +280,9 @@ with open('scheme.tl') as f:
consts = consts + 1; consts = consts + 1;
# text serialization: types and funcs # text serialization: types and funcs
def addTextSerialize(dct, dataLetter): def addTextSerialize(lst, dct, dataLetter):
result = ''; result = '';
for restype in dct: for restype in lst:
v = dct[restype]; v = dct[restype];
for data in v: for data in v:
name = data[0]; name = data[0];
@ -361,8 +363,8 @@ def addTextSerialize(dct, dataLetter):
result += '\t\t\tbreak;\n'; result += '\t\t\tbreak;\n';
return result; return result;
textSerialize += addTextSerialize(typesDict, 'D') + '\n'; textSerialize += addTextSerialize(typesList, typesDict, 'D') + '\n';
textSerialize += addTextSerialize(funcsDict, ''); textSerialize += addTextSerialize(funcsList, funcsDict, '');
for restype in typesList: for restype in typesList:
v = typesDict[restype]; v = typesDict[restype];
@ -670,6 +672,50 @@ textSerializeFull += '\t\t\t\tstart = ++from;\n';
textSerializeFull += '\t\t\t}\n\n'; textSerializeFull += '\t\t\t}\n\n';
textSerializeFull += '\t\t\tint32 lev = level + types.size() - 1;\n'; textSerializeFull += '\t\t\tint32 lev = level + types.size() - 1;\n';
textSerializeFull += '\t\t\tswitch (type) {\n' + textSerialize + '\n'; textSerializeFull += '\t\t\tswitch (type) {\n' + textSerialize + '\n';
# manual types added here
textSerializeFull += '\t\t\tcase mtpc_rpc_result:\n';
textSerializeFull += '\t\t\t\tif (stage) {\n';
textSerializeFull += '\t\t\t\t\tto.add(",\\n").addSpaces(lev);\n';
textSerializeFull += '\t\t\t\t} else {\n';
textSerializeFull += '\t\t\t\t\tto.add("{ rpc_result");\n';
textSerializeFull += '\t\t\t\t\tto.add("\\n").addSpaces(lev);\n';
textSerializeFull += '\t\t\t\t}\n';
textSerializeFull += '\t\t\t\tswitch (stage) {\n';
textSerializeFull += '\t\t\t\tcase 0: to.add(" req_msg_id: "); ++stages.back(); types.push_back(mtpc_long); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break;\n';
textSerializeFull += '\t\t\t\tcase 1: to.add(" result: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break;\n';
textSerializeFull += '\t\t\t\tdefault: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break;\n';
textSerializeFull += '\t\t\t\t}\n';
textSerializeFull += '\t\t\tbreak;\n\n';
textSerializeFull += '\t\t\tcase mtpc_msg_container:\n';
textSerializeFull += '\t\t\t\tif (stage) {\n';
textSerializeFull += '\t\t\t\t\tto.add(",\\n").addSpaces(lev);\n';
textSerializeFull += '\t\t\t\t} else {\n';
textSerializeFull += '\t\t\t\t\tto.add("{ msg_container");\n';
textSerializeFull += '\t\t\t\t\tto.add("\\n").addSpaces(lev);\n';
textSerializeFull += '\t\t\t\t}\n';
textSerializeFull += '\t\t\t\tswitch (stage) {\n';
textSerializeFull += '\t\t\t\tcase 0: to.add(" messages: "); ++stages.back(); types.push_back(mtpc_vector); vtypes.push_back(mtpc_core_message); stages.push_back(0); flags.push_back(0); break;\n';
textSerializeFull += '\t\t\t\tdefault: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break;\n';
textSerializeFull += '\t\t\t\t}\n';
textSerializeFull += '\t\t\tbreak;\n\n';
textSerializeFull += '\t\t\tcase mtpc_core_message: {\n';
textSerializeFull += '\t\t\t\tif (stage) {\n';
textSerializeFull += '\t\t\t\t\tto.add(",\\n").addSpaces(lev);\n';
textSerializeFull += '\t\t\t\t} else {\n';
textSerializeFull += '\t\t\t\t\tto.add("{ core_message");\n';
textSerializeFull += '\t\t\t\t\tto.add("\\n").addSpaces(lev);\n';
textSerializeFull += '\t\t\t\t}\n';
textSerializeFull += '\t\t\t\tswitch (stage) {\n';
textSerializeFull += '\t\t\t\tcase 0: to.add(" msg_id: "); ++stages.back(); types.push_back(mtpc_long); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break;\n';
textSerializeFull += '\t\t\t\tcase 1: to.add(" seq_no: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break;\n';
textSerializeFull += '\t\t\t\tcase 2: to.add(" bytes: "); ++stages.back(); types.push_back(mtpc_int); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break;\n';
textSerializeFull += '\t\t\t\tcase 3: to.add(" body: "); ++stages.back(); types.push_back(0); vtypes.push_back(0); stages.push_back(0); flags.push_back(0); break;\n';
textSerializeFull += '\t\t\t\tdefault: to.add("}"); types.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back(); break;\n';
textSerializeFull += '\t\t\t\t}\n';
textSerializeFull += '\t\t\t\t} break;\n\n';
textSerializeFull += '\t\t\tdefault:\n'; textSerializeFull += '\t\t\tdefault:\n';
textSerializeFull += '\t\t\t\tmtpTextSerializeCore(to, from, end, type, lev, vtype);\n'; textSerializeFull += '\t\t\t\tmtpTextSerializeCore(to, from, end, type, lev, vtype);\n';
textSerializeFull += '\t\t\t\ttypes.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back();\n'; textSerializeFull += '\t\t\t\ttypes.pop_back(); vtypes.pop_back(); stages.pop_back(); flags.pop_back();\n';

View File

@ -103,31 +103,6 @@ void mtpTextSerializeCore(MTPStringLogger &to, const mtpPrime *&from, const mtpP
to.add("}"); to.add("}");
} break; } break;
case mtpc_rpc_result: {
to.add("{ rpc_result");
to.add("\n").addSpaces(level);
to.add(" req_msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").addSpaces(level);
to.add(" result: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").addSpaces(level);
to.add("}");
} break;
case mtpc_msg_container: {
to.add("{ msg_container");
to.add("\n").addSpaces(level);
to.add(" messages: "); mtpTextSerializeType(to, from, end, mtpc_vector, level + 1, mtpc_core_message); to.add(",\n").addSpaces(level);
to.add("}");
} break;
case mtpc_core_message: {
to.add("{ core_message");
to.add("\n").addSpaces(level);
to.add(" msg_id: "); mtpTextSerializeType(to, from, end, mtpc_long, level + 1); to.add(",\n").addSpaces(level);
to.add(" seq_no: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").addSpaces(level);
to.add(" bytes: "); mtpTextSerializeType(to, from, end, mtpc_int, level + 1); to.add(",\n").addSpaces(level);
to.add(" body: "); mtpTextSerializeType(to, from, end, 0, level + 1); to.add(",\n").addSpaces(level);
to.add("}");
} break;
case mtpc_gzip_packed: { case mtpc_gzip_packed: {
MTPstring packed(from, end); // read packed string as serialized mtp string type MTPstring packed(from, end); // read packed string as serialized mtp string type
uint32 packedLen = packed.c_string().v.size(), unpackedChunk = packedLen; uint32 packedLen = packed.c_string().v.size(), unpackedChunk = packedLen;

File diff suppressed because it is too large Load Diff

View File

@ -8265,13 +8265,13 @@ public:
enum { enum {
flag_fwd_from_id = (1 << 2), flag_fwd_from_id = (1 << 2),
flag_reply_to_msg_id = (1 << 3),
flag_fwd_date = (1 << 2), flag_fwd_date = (1 << 2),
flag_reply_to_msg_id = (1 << 3),
}; };
bool has_fwd_from_id() const { return vflags.v & flag_fwd_from_id; } bool has_fwd_from_id() const { return vflags.v & flag_fwd_from_id; }
bool has_reply_to_msg_id() const { return vflags.v & flag_reply_to_msg_id; }
bool has_fwd_date() const { return vflags.v & flag_fwd_date; } bool has_fwd_date() const { return vflags.v & flag_fwd_date; }
bool has_reply_to_msg_id() const { return vflags.v & flag_reply_to_msg_id; }
}; };
class MTPDmessageService : public mtpDataImpl<MTPDmessageService> { class MTPDmessageService : public mtpDataImpl<MTPDmessageService> {
@ -9389,13 +9389,13 @@ public:
enum { enum {
flag_fwd_from_id = (1 << 2), flag_fwd_from_id = (1 << 2),
flag_reply_to_msg_id = (1 << 3),
flag_fwd_date = (1 << 2), flag_fwd_date = (1 << 2),
flag_reply_to_msg_id = (1 << 3),
}; };
bool has_fwd_from_id() const { return vflags.v & flag_fwd_from_id; } bool has_fwd_from_id() const { return vflags.v & flag_fwd_from_id; }
bool has_reply_to_msg_id() const { return vflags.v & flag_reply_to_msg_id; }
bool has_fwd_date() const { return vflags.v & flag_fwd_date; } bool has_fwd_date() const { return vflags.v & flag_fwd_date; }
bool has_reply_to_msg_id() const { return vflags.v & flag_reply_to_msg_id; }
}; };
class MTPDupdateShortChatMessage : public mtpDataImpl<MTPDupdateShortChatMessage> { class MTPDupdateShortChatMessage : public mtpDataImpl<MTPDupdateShortChatMessage> {
@ -9419,13 +9419,13 @@ public:
enum { enum {
flag_fwd_from_id = (1 << 2), flag_fwd_from_id = (1 << 2),
flag_reply_to_msg_id = (1 << 3),
flag_fwd_date = (1 << 2), flag_fwd_date = (1 << 2),
flag_reply_to_msg_id = (1 << 3),
}; };
bool has_fwd_from_id() const { return vflags.v & flag_fwd_from_id; } bool has_fwd_from_id() const { return vflags.v & flag_fwd_from_id; }
bool has_reply_to_msg_id() const { return vflags.v & flag_reply_to_msg_id; }
bool has_fwd_date() const { return vflags.v & flag_fwd_date; } bool has_fwd_date() const { return vflags.v & flag_fwd_date; }
bool has_reply_to_msg_id() const { return vflags.v & flag_reply_to_msg_id; }
}; };
class MTPDupdateShort : public mtpDataImpl<MTPDupdateShort> { class MTPDupdateShort : public mtpDataImpl<MTPDupdateShort> {

View File

@ -60,7 +60,7 @@ void MacPrivate::darkModeChanged() {
} }
} }
void MacPrivate::notifyClicked(unsigned long long peer) { void MacPrivate::notifyClicked(unsigned long long peer, int msgid) {
History *history = App::history(PeerId(peer)); History *history = App::history(PeerId(peer));
App::wnd()->showFromTray(); App::wnd()->showFromTray();
@ -69,15 +69,22 @@ void MacPrivate::notifyClicked(unsigned long long peer) {
App::wnd()->notifyClear(); App::wnd()->notifyClear();
} else { } else {
App::wnd()->hideSettings(); App::wnd()->hideSettings();
App::main()->showPeer(history->peer->id, false, true); bool tomsg = history->peer->chat && (msgid > 0);
if (tomsg) {
HistoryItem *item = App::histItemById(msgid);
if (!item || !item->notifyByFrom()) {
tomsg = false;
}
}
App::main()->showPeer(history->peer->id, tomsg ? msgid : 0, false, true);
App::wnd()->notifyClear(history); App::wnd()->notifyClear(history);
} }
} }
void MacPrivate::notifyReplied(unsigned long long peer, const char *str) { void MacPrivate::notifyReplied(unsigned long long peer, int msgid, const char *str) {
History *history = App::history(PeerId(peer)); History *history = App::history(PeerId(peer));
App::main()->sendMessage(history, QString::fromUtf8(str)); App::main()->sendMessage(history, QString::fromUtf8(str), (msgid > 0 && history->peer->chat) ? msgid : 0);
} }
PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent), PsMainWindow::PsMainWindow(QWidget *parent) : QMainWindow(parent),
@ -488,7 +495,7 @@ void PsMainWindow::psPlatformNotify(HistoryItem *item) {
QPixmap pix = (!App::passcoded() && cNotifyView() <= dbinvShowName) ? item->history()->peer->photo->pix(st::notifyMacPhotoSize) : QPixmap(); QPixmap pix = (!App::passcoded() && cNotifyView() <= dbinvShowName) ? item->history()->peer->photo->pix(st::notifyMacPhotoSize) : QPixmap();
QString msg = (!App::passcoded() && cNotifyView() <= dbinvShowPreview) ? item->notificationText() : lang(lng_notification_preview); QString msg = (!App::passcoded() && cNotifyView() <= dbinvShowPreview) ? item->notificationText() : lang(lng_notification_preview);
_private.showNotify(item->history()->peer->id, pix, title, subtitle, msg, !App::passcoded() && (cNotifyView() <= dbinvShowPreview)); _private.showNotify(item->history()->peer->id, item->id, pix, title, subtitle, msg, !App::passcoded() && (cNotifyView() <= dbinvShowPreview));
} }
bool PsMainWindow::eventFilter(QObject *obj, QEvent *evt) { bool PsMainWindow::eventFilter(QObject *obj, QEvent *evt) {

View File

@ -34,8 +34,8 @@ public:
void activeSpaceChanged(); void activeSpaceChanged();
void darkModeChanged(); void darkModeChanged();
void notifyClicked(unsigned long long peer); void notifyClicked(unsigned long long peer, int msgid);
void notifyReplied(unsigned long long peer, const char *str); void notifyReplied(unsigned long long peer, int msgid, const char *str);
}; };

View File

@ -29,7 +29,7 @@ public:
void updateDelegate(); void updateDelegate();
void showNotify(uint64 peer, const QPixmap &pix, const QString &title, const QString &subtitle, const QString &msg, bool withReply); 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 clearNotifies(uint64 peer = 0);
void enableShadow(WId winId); void enableShadow(WId winId);
@ -38,9 +38,9 @@ public:
} }
virtual void darkModeChanged() { virtual void darkModeChanged() {
} }
virtual void notifyClicked(unsigned long long peer) { virtual void notifyClicked(unsigned long long peer, int msgid) {
} }
virtual void notifyReplied(unsigned long long peer, const char *str) { virtual void notifyReplied(unsigned long long peer, int msgid, const char *str) {
} }
~PsMacWindowPrivate(); ~PsMacWindowPrivate();

View File

@ -145,17 +145,21 @@ public:
observerHelper([[ObserverHelper alloc] init:wnd]), observerHelper([[ObserverHelper alloc] init:wnd]),
notifyHandler([[NotifyHandler alloc] init:wnd]) { notifyHandler([[NotifyHandler alloc] init:wnd]) {
} }
void onNotifyClick(NSUserNotification *notification) { void onNotifyClick(NSUserNotification *notification) {
NSNumber *peerObj = [[notification userInfo] objectForKey:@"peer"]; NSDictionary *dict = [notification userInfo];
NSNumber *peerObj = [dict objectForKey:@"peer"], *msgObj = [dict objectForKey:@"msgid"];
unsigned long long peerLong = peerObj ? [peerObj unsignedLongLongValue] : 0; unsigned long long peerLong = peerObj ? [peerObj unsignedLongLongValue] : 0;
wnd->notifyClicked(peerLong); int msgId = msgObj ? [msgObj intValue] : 0;
wnd->notifyClicked(peerLong, msgId);
} }
void onNotifyReply(NSUserNotification *notification) { void onNotifyReply(NSUserNotification *notification) {
NSNumber *peerObj = [[notification userInfo] objectForKey:@"peer"]; NSDictionary *dict = [notification userInfo];
NSNumber *peerObj = [dict objectForKey:@"peer"], *msgObj = [dict objectForKey:@"msgid"];
unsigned long long peerLong = peerObj ? [peerObj unsignedLongLongValue] : 0; unsigned long long peerLong = peerObj ? [peerObj unsignedLongLongValue] : 0;
wnd->notifyReplied(peerLong, [[[notification response] string] UTF8String]); int msgId = msgObj ? [msgObj intValue] : 0;
wnd->notifyReplied(peerLong, msgId, [[[notification response] string] UTF8String]);
} }
~PsMacWindowData() { ~PsMacWindowData() {
@ -272,12 +276,12 @@ void objc_activateWnd(WId winId) {
NSImage *qt_mac_create_nsimage(const QPixmap &pm); NSImage *qt_mac_create_nsimage(const QPixmap &pm);
void PsMacWindowPrivate::showNotify(uint64 peer, const QPixmap &pix, const QString &title, const QString &subtitle, const QString &msg, bool withReply) { void PsMacWindowPrivate::showNotify(uint64 peer, int32 msgId, const QPixmap &pix, const QString &title, const QString &subtitle, const QString &msg, bool withReply) {
NSUserNotification *notification = [[NSUserNotification alloc] init]; NSUserNotification *notification = [[NSUserNotification alloc] init];
NSImage *img = qt_mac_create_nsimage(pix); NSImage *img = qt_mac_create_nsimage(pix);
DEBUG_LOG(("Sending notification with userinfo: peer %1 and instance %2").arg(peer).arg(cInstance())); DEBUG_LOG(("Sending notification with userinfo: peer %1, msgId %2 and instance %3").arg(peer).arg(msgId).arg(cInstance()));
[notification setUserInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedLongLong:peer],@"peer",[NSNumber numberWithUnsignedLongLong:cInstance()],@"inst",nil]]; [notification setUserInfo:[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithUnsignedLongLong:peer],@"peer",[NSNumber numberWithInt:msgId],@"msgid",[NSNumber numberWithUnsignedLongLong:cInstance()],@"inst",nil]];
[notification setTitle:QNSString(title).s()]; [notification setTitle:QNSString(title).s()];
[notification setSubtitle:QNSString(subtitle).s()]; [notification setSubtitle:QNSString(subtitle).s()];
@ -305,7 +309,8 @@ void PsMacWindowPrivate::clearNotifies(unsigned long long peer) {
if (peer) { if (peer) {
NSArray *notifies = [center deliveredNotifications]; NSArray *notifies = [center deliveredNotifications];
for (id notify in notifies) { for (id notify in notifies) {
if ([[[notify userInfo] objectForKey:@"peer"] unsignedLongLongValue] == peer) { NSDictionary *dict = [notify userInfo];
if ([[dict objectForKey:@"peer"] unsignedLongLongValue] == peer && [[dict objectForKey:@"inst"] unsignedLongLongValue] == cInstance()) {
[center removeDeliveredNotification:notify]; [center removeDeliveredNotification:notify];
} }
} }

View File

@ -229,6 +229,7 @@ void NotifyWindow::updatePeerPhoto() {
void NotifyWindow::itemRemoved(HistoryItem *del) { void NotifyWindow::itemRemoved(HistoryItem *del) {
if (item == del) { if (item == del) {
item = 0;
unlinkHistoryAndNotify(); unlinkHistoryAndNotify();
} }
} }
@ -273,7 +274,7 @@ void NotifyWindow::mousePressEvent(QMouseEvent *e) {
App::wnd()->notifyClear(); App::wnd()->notifyClear();
} else { } else {
App::wnd()->hideSettings(); App::wnd()->hideSettings();
App::main()->showPeer(peer, 0, false, true); App::main()->showPeer(peer, (history->peer->chat && item && item->notifyByFrom() && item->id > 0) ? item->id : 0, false, true);
} }
e->ignore(); e->ignore();
} }

View File

@ -79,6 +79,7 @@ unix {
SOURCES += \ SOURCES += \
./SourceFiles/main.cpp \ ./SourceFiles/main.cpp \
./SourceFiles/stdafx.cpp \ ./SourceFiles/stdafx.cpp \
./SourceFiles/apiwrap.cpp \
./SourceFiles/app.cpp \ ./SourceFiles/app.cpp \
./SourceFiles/application.cpp \ ./SourceFiles/application.cpp \
./SourceFiles/audio.cpp \ ./SourceFiles/audio.cpp \
@ -158,6 +159,7 @@ SOURCES += \
HEADERS += \ HEADERS += \
./SourceFiles/stdafx.h \ ./SourceFiles/stdafx.h \
./SourceFiles/apiwrap.h \
./SourceFiles/app.h \ ./SourceFiles/app.h \
./SourceFiles/application.h \ ./SourceFiles/application.h \
./SourceFiles/audio.h \ ./SourceFiles/audio.h \

View File

@ -49,6 +49,8 @@
074FCB8E19D36851004C6EB2 /* contextmenu.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074FCB8C19D36851004C6EB2 /* contextmenu.cpp */; }; 074FCB8E19D36851004C6EB2 /* contextmenu.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074FCB8C19D36851004C6EB2 /* contextmenu.cpp */; };
074FCB9119D36E60004C6EB2 /* moc_contextmenu.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074FCB9019D36E60004C6EB2 /* moc_contextmenu.cpp */; }; 074FCB9119D36E60004C6EB2 /* moc_contextmenu.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 074FCB9019D36E60004C6EB2 /* moc_contextmenu.cpp */; };
07539B1D1A1416AF00083EFC /* moc_history.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07539B1C1A1416AF00083EFC /* moc_history.cpp */; }; 07539B1D1A1416AF00083EFC /* moc_history.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07539B1C1A1416AF00083EFC /* moc_history.cpp */; };
0764D55A1ABAD6F900FBFEED /* apiwrap.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0764D5581ABAD6F900FBFEED /* apiwrap.cpp */; };
0764D55D1ABAD71B00FBFEED /* moc_apiwrap.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 0764D55C1ABAD71B00FBFEED /* moc_apiwrap.cpp */; };
078A2FCA1A811C5900CCC7A0 /* moc_backgroundbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 078A2FC91A811C5900CCC7A0 /* moc_backgroundbox.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 */; }; 078A2FCD1A811CA600CCC7A0 /* backgroundbox.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 078A2FCB1A811CA600CCC7A0 /* backgroundbox.cpp */; };
07A69332199277BA0099CB9F /* mediaview.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07A69330199277BA0099CB9F /* mediaview.cpp */; }; 07A69332199277BA0099CB9F /* mediaview.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 07A69330199277BA0099CB9F /* mediaview.cpp */; };
@ -278,6 +280,9 @@
07539B1C1A1416AF00083EFC /* moc_history.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_history.cpp; path = GeneratedFiles/Debug/moc_history.cpp; sourceTree = SOURCE_ROOT; }; 07539B1C1A1416AF00083EFC /* moc_history.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_history.cpp; path = GeneratedFiles/Debug/moc_history.cpp; sourceTree = SOURCE_ROOT; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; }; 075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
075F99A91A45EEF200915C72 /* lang_es.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = lang_es.strings; path = SourceFiles/langs/lang_es.strings; sourceTree = SOURCE_ROOT; }; 075F99A91A45EEF200915C72 /* lang_es.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = lang_es.strings; path = SourceFiles/langs/lang_es.strings; sourceTree = SOURCE_ROOT; };
0764D5581ABAD6F900FBFEED /* apiwrap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = apiwrap.cpp; path = SourceFiles/apiwrap.cpp; sourceTree = SOURCE_ROOT; };
0764D5591ABAD6F900FBFEED /* apiwrap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = apiwrap.h; path = SourceFiles/apiwrap.h; sourceTree = SOURCE_ROOT; };
0764D55C1ABAD71B00FBFEED /* moc_apiwrap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = moc_apiwrap.cpp; path = GeneratedFiles/Debug/moc_apiwrap.cpp; sourceTree = SOURCE_ROOT; };
0771C4C94B623FC34BF62983 /* intro.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = intro.cpp; path = SourceFiles/intro/intro.cpp; sourceTree = "<absolute>"; }; 0771C4C94B623FC34BF62983 /* intro.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = intro.cpp; path = SourceFiles/intro/intro.cpp; sourceTree = "<absolute>"; };
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; }; 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; }; 078A2FCB1A811CA600CCC7A0 /* backgroundbox.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = backgroundbox.cpp; path = SourceFiles/boxes/backgroundbox.cpp; sourceTree = SOURCE_ROOT; };
@ -883,6 +888,7 @@
children = ( children = (
5271C394C1E7646D117CE67E /* main.cpp */, 5271C394C1E7646D117CE67E /* main.cpp */,
5A5431331A13AA7B07414240 /* stdafx.cpp */, 5A5431331A13AA7B07414240 /* stdafx.cpp */,
0764D5581ABAD6F900FBFEED /* apiwrap.cpp */,
06E379415713F34B83F99C35 /* app.cpp */, 06E379415713F34B83F99C35 /* app.cpp */,
C20F9DD8C7B031B8E20D5653 /* application.cpp */, C20F9DD8C7B031B8E20D5653 /* application.cpp */,
07D7034919B8755A00C4EED2 /* audio.cpp */, 07D7034919B8755A00C4EED2 /* audio.cpp */,
@ -916,6 +922,7 @@
5E35A03E5F2C51353EBCBF00 /* intro */, 5E35A03E5F2C51353EBCBF00 /* intro */,
074968CB1A44D0B800394F46 /* langs */, 074968CB1A44D0B800394F46 /* langs */,
6011DDB120E1B2D4803E129A /* stdafx.h */, 6011DDB120E1B2D4803E129A /* stdafx.h */,
0764D5591ABAD6F900FBFEED /* apiwrap.h */,
C19DF71B273A4843553518F2 /* app.h */, C19DF71B273A4843553518F2 /* app.h */,
09FD01F2BD652EB838A296D8 /* application.h */, 09FD01F2BD652EB838A296D8 /* application.h */,
07D7034A19B8755A00C4EED2 /* audio.h */, 07D7034A19B8755A00C4EED2 /* audio.h */,
@ -1085,6 +1092,7 @@
801973D3334D0FCA849CF485 /* Debug */ = { 801973D3334D0FCA849CF485 /* Debug */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
0764D55C1ABAD71B00FBFEED /* moc_apiwrap.cpp */,
07DE92AB1AA4928B00A18F6F /* moc_passcodebox.cpp */, 07DE92AB1AA4928B00A18F6F /* moc_passcodebox.cpp */,
07DE92AC1AA4928B00A18F6F /* moc_passcodewidget.cpp */, 07DE92AC1AA4928B00A18F6F /* moc_passcodewidget.cpp */,
07DE92A91AA4928200A18F6F /* moc_autolockbox.cpp */, 07DE92A91AA4928200A18F6F /* moc_autolockbox.cpp */,
@ -1583,11 +1591,13 @@
B2F5B08BFFBBE7E37D3863BB /* moc_button.cpp in Compile Sources */, B2F5B08BFFBBE7E37D3863BB /* moc_button.cpp in Compile Sources */,
B6F50D5FBFAEB16DD0E5B1C3 /* moc_countrycodeinput.cpp in Compile Sources */, B6F50D5FBFAEB16DD0E5B1C3 /* moc_countrycodeinput.cpp in Compile Sources */,
6A8BC88AB464B92706EFE6FF /* moc_countryinput.cpp in Compile Sources */, 6A8BC88AB464B92706EFE6FF /* moc_countryinput.cpp in Compile Sources */,
0764D55A1ABAD6F900FBFEED /* apiwrap.cpp in Compile Sources */,
07DE92A01AA4923300A18F6F /* passcodewidget.cpp in Compile Sources */, 07DE92A01AA4923300A18F6F /* passcodewidget.cpp in Compile Sources */,
B0B88EFE444C0DE673389418 /* moc_flatbutton.cpp in Compile Sources */, B0B88EFE444C0DE673389418 /* moc_flatbutton.cpp in Compile Sources */,
1BD711B4C358EA7D727BF358 /* moc_flatcheckbox.cpp in Compile Sources */, 1BD711B4C358EA7D727BF358 /* moc_flatcheckbox.cpp in Compile Sources */,
565F748438E6CE0148C54AFE /* moc_flatinput.cpp in Compile Sources */, 565F748438E6CE0148C54AFE /* moc_flatinput.cpp in Compile Sources */,
8B71D1C7BB9DCEE6511219C2 /* moc_flatlabel.cpp in Compile Sources */, 8B71D1C7BB9DCEE6511219C2 /* moc_flatlabel.cpp in Compile Sources */,
0764D55D1ABAD71B00FBFEED /* moc_apiwrap.cpp in Compile Sources */,
07DE92AD1AA4928B00A18F6F /* moc_passcodebox.cpp in Compile Sources */, 07DE92AD1AA4928B00A18F6F /* moc_passcodebox.cpp in Compile Sources */,
FCC949FEA178F9F5D7478027 /* moc_flattextarea.cpp in Compile Sources */, FCC949FEA178F9F5D7478027 /* moc_flattextarea.cpp in Compile Sources */,
3A62C3A2FB56A83C9C3A3AFF /* moc_phoneinput.cpp in Compile Sources */, 3A62C3A2FB56A83C9C3A3AFF /* moc_phoneinput.cpp in Compile Sources */,

View File

@ -31,7 +31,7 @@ mocables: compiler_moc_header_make_all compiler_moc_source_make_all
check: first check: first
compilers: GeneratedFiles/qrc_telegram.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp\ compilers: GeneratedFiles/qrc_telegram.cpp GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp\
GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp\ GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp\
GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp\ GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp\
GeneratedFiles/Debug/moc_passcodewidget.cpp\ GeneratedFiles/Debug/moc_passcodewidget.cpp\
@ -94,9 +94,14 @@ GeneratedFiles/qrc_telegram.cpp: SourceFiles/telegram.qrc \
SourceFiles/art/chatcolor2.png SourceFiles/art/chatcolor2.png
/usr/local/Qt-5.4.0/bin/rcc -name telegram SourceFiles/telegram.qrc -o GeneratedFiles/qrc_telegram.cpp /usr/local/Qt-5.4.0/bin/rcc -name telegram SourceFiles/telegram.qrc -o GeneratedFiles/qrc_telegram.cpp
compiler_moc_header_make_all: GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp GeneratedFiles/Debug/moc_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_mtp.cpp GeneratedFiles/Debug/moc_mtpConnection.cpp GeneratedFiles/Debug/moc_mtpDC.cpp GeneratedFiles/Debug/moc_mtpFileLoader.cpp GeneratedFiles/Debug/moc_mtpSession.cpp GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp GeneratedFiles/Debug/moc_contextmenu.cpp GeneratedFiles/Debug/moc_countrycodeinput.cpp GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp GeneratedFiles/Debug/moc_switcher.cpp GeneratedFiles/Debug/moc_phoneinput.cpp GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp GeneratedFiles/Debug/moc_addparticipantbox.cpp GeneratedFiles/Debug/moc_autolockbox.cpp GeneratedFiles/Debug/moc_backgroundbox.cpp GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp GeneratedFiles/Debug/moc_newgroupbox.cpp GeneratedFiles/Debug/moc_passcodebox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_usernamebox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp compiler_moc_header_make_all: GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp GeneratedFiles/Debug/moc_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_mtp.cpp GeneratedFiles/Debug/moc_mtpConnection.cpp GeneratedFiles/Debug/moc_mtpDC.cpp GeneratedFiles/Debug/moc_mtpFileLoader.cpp GeneratedFiles/Debug/moc_mtpSession.cpp GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp GeneratedFiles/Debug/moc_contextmenu.cpp GeneratedFiles/Debug/moc_countrycodeinput.cpp GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp GeneratedFiles/Debug/moc_switcher.cpp GeneratedFiles/Debug/moc_phoneinput.cpp GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp GeneratedFiles/Debug/moc_addparticipantbox.cpp GeneratedFiles/Debug/moc_autolockbox.cpp GeneratedFiles/Debug/moc_backgroundbox.cpp GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp GeneratedFiles/Debug/moc_newgroupbox.cpp GeneratedFiles/Debug/moc_passcodebox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_usernamebox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp
compiler_moc_header_clean: compiler_moc_header_clean:
-$(DEL_FILE) GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp GeneratedFiles/Debug/moc_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_mtp.cpp GeneratedFiles/Debug/moc_mtpConnection.cpp GeneratedFiles/Debug/moc_mtpDC.cpp GeneratedFiles/Debug/moc_mtpFileLoader.cpp GeneratedFiles/Debug/moc_mtpSession.cpp GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp GeneratedFiles/Debug/moc_contextmenu.cpp GeneratedFiles/Debug/moc_countrycodeinput.cpp GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp GeneratedFiles/Debug/moc_switcher.cpp GeneratedFiles/Debug/moc_phoneinput.cpp GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp GeneratedFiles/Debug/moc_addparticipantbox.cpp GeneratedFiles/Debug/moc_autolockbox.cpp GeneratedFiles/Debug/moc_backgroundbox.cpp GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp GeneratedFiles/Debug/moc_newgroupbox.cpp GeneratedFiles/Debug/moc_passcodebox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_usernamedbox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp -$(DEL_FILE) GeneratedFiles/Debug/moc_apiwrap.cpp GeneratedFiles/Debug/moc_application.cpp GeneratedFiles/Debug/moc_audio.cpp GeneratedFiles/Debug/moc_dialogswidget.cpp GeneratedFiles/Debug/moc_dropdown.cpp GeneratedFiles/Debug/moc_fileuploader.cpp GeneratedFiles/Debug/moc_history.cpp GeneratedFiles/Debug/moc_historywidget.cpp GeneratedFiles/Debug/moc_layerwidget.cpp GeneratedFiles/Debug/moc_mediaview.cpp GeneratedFiles/Debug/moc_overviewwidget.cpp GeneratedFiles/Debug/moc_profilewidget.cpp GeneratedFiles/Debug/moc_passcodewidget.cpp GeneratedFiles/Debug/moc_localimageloader.cpp GeneratedFiles/Debug/moc_localstorage.cpp GeneratedFiles/Debug/moc_mainwidget.cpp GeneratedFiles/Debug/moc_settingswidget.cpp GeneratedFiles/Debug/moc_sysbuttons.cpp GeneratedFiles/Debug/moc_title.cpp GeneratedFiles/Debug/moc_types.cpp GeneratedFiles/Debug/moc_window.cpp GeneratedFiles/Debug/moc_mtp.cpp GeneratedFiles/Debug/moc_mtpConnection.cpp GeneratedFiles/Debug/moc_mtpDC.cpp GeneratedFiles/Debug/moc_mtpFileLoader.cpp GeneratedFiles/Debug/moc_mtpSession.cpp GeneratedFiles/Debug/moc_animation.cpp GeneratedFiles/Debug/moc_button.cpp GeneratedFiles/Debug/moc_contextmenu.cpp GeneratedFiles/Debug/moc_countrycodeinput.cpp GeneratedFiles/Debug/moc_countryinput.cpp GeneratedFiles/Debug/moc_flatbutton.cpp GeneratedFiles/Debug/moc_flatcheckbox.cpp GeneratedFiles/Debug/moc_flatinput.cpp GeneratedFiles/Debug/moc_flatlabel.cpp GeneratedFiles/Debug/moc_flattextarea.cpp GeneratedFiles/Debug/moc_switcher.cpp GeneratedFiles/Debug/moc_phoneinput.cpp GeneratedFiles/Debug/moc_scrollarea.cpp GeneratedFiles/Debug/moc_twidget.cpp GeneratedFiles/Debug/moc_aboutbox.cpp GeneratedFiles/Debug/moc_addcontactbox.cpp GeneratedFiles/Debug/moc_addparticipantbox.cpp GeneratedFiles/Debug/moc_autolockbox.cpp GeneratedFiles/Debug/moc_backgroundbox.cpp GeneratedFiles/Debug/moc_confirmbox.cpp GeneratedFiles/Debug/moc_connectionbox.cpp GeneratedFiles/Debug/moc_contactsbox.cpp GeneratedFiles/Debug/moc_downloadpathbox.cpp GeneratedFiles/Debug/moc_emojibox.cpp GeneratedFiles/Debug/moc_languagebox.cpp GeneratedFiles/Debug/moc_newgroupbox.cpp GeneratedFiles/Debug/moc_passcodebox.cpp GeneratedFiles/Debug/moc_photocropbox.cpp GeneratedFiles/Debug/moc_photosendbox.cpp GeneratedFiles/Debug/moc_usernamedbox.cpp GeneratedFiles/Debug/moc_intro.cpp GeneratedFiles/Debug/moc_introcode.cpp GeneratedFiles/Debug/moc_introphone.cpp GeneratedFiles/Debug/moc_introsignup.cpp GeneratedFiles/Debug/moc_pspecific_mac.cpp
GeneratedFiles/Debug/moc_apiwrap.cpp: SourceFiles/types.h \
SourceFiles/logs.h \
SourceFiles/apiwrap.h
/usr/local/Qt-5.4.0/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.4.0/mkspecs/macx-clang -I. -I/usr/local/Qt-5.4.0/include/QtGui/5.4.0/QtGui -I/usr/local/Qt-5.4.0/include/QtCore/5.4.0/QtCore -I/usr/local/Qt-5.4.0/include -I./SourceFiles -I./GeneratedFiles -I../../Libraries/lzma/C -I../../Libraries/libexif-0.6.20 -I/usr/local/Qt-5.4.0/include -I/usr/local/Qt-5.4.0/include/QtMultimedia -I/usr/local/Qt-5.4.0/include/QtWidgets -I/usr/local/Qt-5.4.0/include/QtNetwork -I/usr/local/Qt-5.4.0/include/QtGui -I/usr/local/Qt-5.4.0/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_application.cpp: ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalSocket \ GeneratedFiles/Debug/moc_application.cpp: ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalSocket \
../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalServer \ ../../Libraries/QtStatic/qtbase/include/QtNetwork/QLocalServer \
../../Libraries/QtStatic/qtbase/include/QtNetwork/QNetworkReply \ ../../Libraries/QtStatic/qtbase/include/QtNetwork/QNetworkReply \