diff --git a/telegram-adium/TelegramAccount.m b/telegram-adium/TelegramAccount.m index 0e6bca4..72e3302 100644 --- a/telegram-adium/TelegramAccount.m +++ b/telegram-adium/TelegramAccount.m @@ -58,8 +58,6 @@ { [super didConnect]; [self purpleAccount]; - purple_signal_connect (purple_conversations_get_handle(), "chat-buddy-joined", - [self purpleAccount], PURPLE_CALLBACK(chat_buddy_joined), (__bridge void *)(self)); // Storing chats in the blist breaks Adium bookmarks. Adium doesn't // show those chats anyway, so we can just safely delete those. @@ -78,8 +76,6 @@ - (void)didDisconnect { - purple_signal_disconnect(purple_conversations_get_handle(), "chat-buddy-joined", - [self purpleAccount], PURPLE_CALLBACK(chat_buddy_joined)); } - (void)configurePurpleAccount @@ -203,38 +199,6 @@ } #pragma mark Group Chats -void chat_buddy_joined (PurpleConversation *conv, const char *name, - PurpleConvChatBuddyFlags flags, - gboolean new_arrival, void *data) { - const char *proto = purple_conversation_get_account (conv)->protocol_id; - if (! proto || 0 != strcmp ("prpl-telegram", proto)) { - return; - } - - TelegramAccount *_self = (__bridge TelegramAccount *)(data); - connection_data *conn = purple_connection_get_protocol_data( - purple_account_get_connection(purple_conversation_get_account(conv))); - assert (conn); - if (!name || !conv->name) { - return; - } - - tgl_peer_t *P = tgl_peer_get (conn->TLS, TGL_MK_USER(atoi(name))); - AIChat *chat = [_self chatWithName:[NSString stringWithUTF8String:conv->name] identifier:nil]; - if (P && chat) { - AIListObject *dummy = [[AIListObject alloc] - initWithUID:[NSString stringWithUTF8String:name] - service:nil]; - - dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 10 * NSEC_PER_MSEC), dispatch_get_main_queue(), ^{ - if (P->print_name) { - [chat setAlias:[NSString stringWithUTF8String:P->print_name] - forContact:dummy]; - [chat resortParticipants]; - } - }); - } -} /*! * @brief Re-create the chat's join options. @@ -249,7 +213,6 @@ void chat_buddy_joined (PurpleConversation *conv, const char *name, return [NSMutableDictionary dictionaryWithObjectsAndKeys: [NSString stringWithFormat:@"%d", tgl_get_peer_id(P->id)], @"id", [NSString stringWithUTF8String: name], @"subject", - [NSString stringWithFormat:@"%d", P->chat.admin_id], @"owner", nil]; } return nil; diff --git a/telegram-adium/TelegramAccountView.xib b/telegram-adium/TelegramAccountView.xib index e37c9be..257cb57 100644 --- a/telegram-adium/TelegramAccountView.xib +++ b/telegram-adium/TelegramAccountView.xib @@ -1,8 +1,7 @@ - + - - + @@ -23,11 +22,12 @@ - + + @@ -36,6 +36,7 @@ + @@ -44,6 +45,7 @@ + @@ -52,6 +54,7 @@ + @@ -60,6 +63,7 @@ + @@ -68,6 +72,7 @@ + @@ -78,6 +83,7 @@ + @@ -86,6 +92,7 @@ + @@ -94,6 +101,7 @@ + @@ -102,6 +110,7 @@ + @@ -111,6 +120,7 @@ + @@ -137,6 +147,7 @@ + @@ -145,6 +156,7 @@ + @@ -153,6 +165,7 @@ + @@ -175,6 +190,7 @@ + @@ -184,6 +200,7 @@ + @@ -192,6 +209,7 @@ + @@ -200,12 +218,14 @@ + diff --git a/telegram-adium/TelegramJoinChatView.xib b/telegram-adium/TelegramJoinChatView.xib index 28a0340..bbccbd5 100644 --- a/telegram-adium/TelegramJoinChatView.xib +++ b/telegram-adium/TelegramJoinChatView.xib @@ -1,8 +1,7 @@ - + - - + @@ -17,11 +16,12 @@ - + + @@ -30,6 +30,7 @@ + @@ -38,6 +39,7 @@ + @@ -46,6 +48,7 @@ + @@ -54,6 +57,7 @@ + @@ -62,6 +66,7 @@ + @@ -70,6 +75,7 @@ + @@ -78,6 +84,7 @@ + @@ -86,6 +93,7 @@ + @@ -94,6 +102,7 @@ + @@ -102,6 +111,7 @@ + @@ -112,6 +122,7 @@ + diff --git a/telegram-adium/TelegramService.m b/telegram-adium/TelegramService.m index 1976f95..4c414f2 100644 --- a/telegram-adium/TelegramService.m +++ b/telegram-adium/TelegramService.m @@ -104,16 +104,17 @@ - (NSCharacterSet *)allowedCharactersForAccountName { - return ([NSCharacterSet characterSetWithCharactersInString: @"+1234567890"]); + return ([NSCharacterSet characterSetWithCharactersInString: @"+1234567890"]); } - (NSUInteger)allowedLengthForAccountName { - return 16; + return 16; } -- (BOOL)caseSensitive{ - return NO; +- (BOOL)caseSensitive +{ + return YES; } - (NSImage *)defaultServiceIconOfType:(AIServiceIconType)iconType diff --git a/telegram-adium/telegram-adium.xcodeproj/project.pbxproj b/telegram-adium/telegram-adium.xcodeproj/project.pbxproj index 72f98ad..633f0d3 100644 --- a/telegram-adium/telegram-adium.xcodeproj/project.pbxproj +++ b/telegram-adium/telegram-adium.xcodeproj/project.pbxproj @@ -39,6 +39,7 @@ C4B4BE371AB5FB5C0064AC17 /* TelegramJoinChatViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C4B4BE351AB5FB5C0064AC17 /* TelegramJoinChatViewController.m */; }; C4B4BE391AB613950064AC17 /* TelegramJoinChatView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4B4BE381AB613950064AC17 /* TelegramJoinChatView.xib */; }; C4B57BF01B1598D4006997F4 /* libtgl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C4B57BEF1B1598D4006997F4 /* libtgl.a */; }; + C4D12DF01BC534CF00C0F6E1 /* tgp-blist.c in Sources */ = {isa = PBXBuildFile; fileRef = C4D12DEF1BC534CF00C0F6E1 /* tgp-blist.c */; settings = {ASSET_TAGS = (); }; }; C4D432D61BC2768C00561667 /* libgcrypt.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = C4D432D51BC2768C00561667 /* libgcrypt.dylib */; }; C4D432D81BC2783C00561667 /* tg-server.tglpub in Resources */ = {isa = PBXBuildFile; fileRef = C4D432D71BC2783C00561667 /* tg-server.tglpub */; }; C4D819031A5C85FE0044CBA9 /* lodepng.c in Sources */ = {isa = PBXBuildFile; fileRef = C4D819011A5C85FE0044CBA9 /* lodepng.c */; }; @@ -110,6 +111,8 @@ C4B57BEC1B13B2C4006997F4 /* auto-types.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "auto-types.h"; path = "../auto/auto-types.h"; sourceTree = ""; }; C4B57BED1B1598BE006997F4 /* telegram-purple */ = {isa = PBXFileReference; lastKnownFileType = folder; name = "telegram-purple"; path = ..; sourceTree = ""; }; C4B57BEF1B1598D4006997F4 /* libtgl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libtgl.a; path = ../libs/libtgl.a; sourceTree = ""; }; + C4D12DEE1BC534CF00C0F6E1 /* tgp-blist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "tgp-blist.h"; path = "../tgp-blist.h"; sourceTree = ""; }; + C4D12DEF1BC534CF00C0F6E1 /* tgp-blist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "tgp-blist.c"; path = "../tgp-blist.c"; sourceTree = ""; }; C4D432D31BC2766E00561667 /* libgcrypt.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libgcrypt.dylib; path = ../../../../../usr/local/Cellar/libgcrypt/1.6.4/lib/libgcrypt.dylib; sourceTree = ""; }; C4D432D51BC2768C00561667 /* libgcrypt.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libgcrypt.dylib; path = ../../../../../usr/local/lib/libgcrypt.dylib; sourceTree = ""; }; C4D432D71BC2783C00561667 /* tg-server.tglpub */ = {isa = PBXFileReference; lastKnownFileType = file; name = "tg-server.tglpub"; path = "../tg-server.tglpub"; sourceTree = ""; }; @@ -267,6 +270,8 @@ C4E528101A8A907200C4B915 /* tgp-ft.h */, C479A8001BB69C2100C153DF /* tgp-request.c */, C479A8011BB69C2100C153DF /* tgp-request.h */, + C4D12DEE1BC534CF00C0F6E1 /* tgp-blist.h */, + C4D12DEF1BC534CF00C0F6E1 /* tgp-blist.c */, ); name = "telegram-purple"; sourceTree = ""; @@ -358,6 +363,7 @@ C4B4BE371AB5FB5C0064AC17 /* TelegramJoinChatViewController.m in Sources */, C438CE341A12C07800E1DA0F /* telegram-purple.c in Sources */, C4877C1819BB37EA006FA91F /* TelegramService.m in Sources */, + C4D12DF01BC534CF00C0F6E1 /* tgp-blist.c in Sources */, C448ADA71AB0789A001B7ECD /* tgp-msg.c in Sources */, C4FFD0DE1B5FC68400939D8A /* TelegramAutocompletionDelegate.m in Sources */, C4E528111A8A907200C4B915 /* tgp-ft.c in Sources */, diff --git a/telegram-adium/telegram-adium.xcodeproj/project.xcworkspace/xcshareddata/telegram-adium.xcscmblueprint b/telegram-adium/telegram-adium.xcodeproj/project.xcworkspace/xcshareddata/telegram-adium.xcscmblueprint new file mode 100644 index 0000000..214f165 --- /dev/null +++ b/telegram-adium/telegram-adium.xcodeproj/project.xcworkspace/xcshareddata/telegram-adium.xcscmblueprint @@ -0,0 +1,44 @@ +{ + "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "41D8FEA2FB3AAB94D0D4027A64957635038B427E", + "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : { + + }, + "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : { + "32693D74F7AAA18802B0105461C73E1FD01CF3A3" : 0, + "2BAF9F6AF710B4D765F611851696219A50533669" : 0, + "41D8FEA2FB3AAB94D0D4027A64957635038B427E" : 0, + "78234520DB6A5DE1B463A6198C9122A9D1A44221" : 0 + }, + "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "1C5A3335-4726-410A-8E70-801C8879E269", + "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : { + "32693D74F7AAA18802B0105461C73E1FD01CF3A3" : "telegram-purple\/tgl", + "2BAF9F6AF710B4D765F611851696219A50533669" : "tg", + "41D8FEA2FB3AAB94D0D4027A64957635038B427E" : "telegram-purple", + "78234520DB6A5DE1B463A6198C9122A9D1A44221" : "telegram-purple\/tgl\/tl-parser" + }, + "DVTSourceControlWorkspaceBlueprintNameKey" : "telegram-adium", + "DVTSourceControlWorkspaceBlueprintVersion" : 204, + "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "telegram-adium\/telegram-adium.xcodeproj", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [ + { + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/vysheng\/tg", + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "2BAF9F6AF710B4D765F611851696219A50533669" + }, + { + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/vysheng\/tgl", + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "32693D74F7AAA18802B0105461C73E1FD01CF3A3" + }, + { + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/majn\/telegram-purple.git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "41D8FEA2FB3AAB94D0D4027A64957635038B427E" + }, + { + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "https:\/\/github.com\/vysheng\/tl-parser", + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git", + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "78234520DB6A5DE1B463A6198C9122A9D1A44221" + } + ] +} \ No newline at end of file