Ignore:
Timestamp:
2012-11-25T14:26:23Z (12 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
7f557d5
Parents:
96dd574
Message:

Changed mode/room management a little bit.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/twitter/twitter.c

    r96dd574 r631ec80  
    5353        struct twitter_data *td = ic->proto_data;
    5454
     55        /* Create the room now that we "logged in". */
     56        if (td->flags & TWITTER_MODE_CHAT)
     57                twitter_groupchat_init(ic);
     58
    5559        imcb_log(ic, "Getting initial statuses");
    5660
     
    7680}
    7781
     82struct groupchat *twitter_groupchat_init(struct im_connection *ic)
     83{
     84        char *name_hint;
     85        struct groupchat *gc;
     86        struct twitter_data *td = ic->proto_data;
     87        GSList *l;
     88
     89        if (td->timeline_gc)
     90                return td->timeline_gc;
     91
     92        td->timeline_gc = gc = imcb_chat_new(ic, "twitter/timeline");
     93
     94        name_hint = g_strdup_printf("%s_%s", td->prefix, ic->acc->user);
     95        imcb_chat_name_hint(gc, name_hint);
     96        g_free(name_hint);
     97
     98        for (l = ic->bee->users; l; l = l->next) {
     99                bee_user_t *bu = l->data;
     100                if (bu->ic == ic)
     101                        imcb_chat_add_buddy(td->timeline_gc, bu->handle);
     102        }
     103        imcb_chat_add_buddy(gc, ic->acc->user);
     104       
     105        return gc;
     106}
     107
    78108static void twitter_oauth_start(struct im_connection *ic);
    79109
     
    86116        if (set_getbool(&ic->acc->set, "oauth") && !td->oauth_info)
    87117                twitter_oauth_start(ic);
    88         else if (g_strcasecmp(set_getstr(&ic->acc->set, "mode"), "one") != 0 &&
    89                 !(td->flags & TWITTER_HAVE_FRIENDS)) {
     118        else if ((td->flags & TWITTER_MODE_ONE) &&
     119                !(td->flags & TWITTER_HAVE_FRIENDS)) {
    90120                imcb_log(ic, "Getting contact list");
    91121                twitter_get_friends_ids(ic, -1);
     
    354384        td->log = g_new0(struct twitter_log_data, TWITTER_LOG_LENGTH);
    355385        td->log_id = -1;
     386       
     387        s = set_getstr(&ic->acc->set, "mode");
     388        if (g_strcasecmp(s, "one") == 0)
     389                td->flags |= TWITTER_MODE_ONE;
     390        else if (g_strcasecmp(s, "many") == 0)
     391                td->flags |= TWITTER_MODE_MANY;
     392        else
     393                td->flags |= TWITTER_MODE_CHAT;
    356394
    357395        twitter_login_finish(ic);
Note: See TracChangeset for help on using the changeset viewer.