mcabber/src/commands.c
changeset 475 fa49ac0bb8f3
parent 472 75442262c082
child 480 882e1acae422
equal deleted inserted replaced
474:27efa1e2671a 475:fa49ac0bb8f3
   154   compl_add_category_word(COMPL_ROOM, "join");
   154   compl_add_category_word(COMPL_ROOM, "join");
   155   compl_add_category_word(COMPL_ROOM, "leave");
   155   compl_add_category_word(COMPL_ROOM, "leave");
   156   compl_add_category_word(COMPL_ROOM, "names");
   156   compl_add_category_word(COMPL_ROOM, "names");
   157   compl_add_category_word(COMPL_ROOM, "nick");
   157   compl_add_category_word(COMPL_ROOM, "nick");
   158   compl_add_category_word(COMPL_ROOM, "remove");
   158   compl_add_category_word(COMPL_ROOM, "remove");
       
   159   compl_add_category_word(COMPL_ROOM, "topic");
   159   compl_add_category_word(COMPL_ROOM, "unlock");
   160   compl_add_category_word(COMPL_ROOM, "unlock");
   160 }
   161 }
   161 
   162 
   162 //  expandalias(line)
   163 //  expandalias(line)
   163 // If there is one, expand the alias in line and returns a new allocated line
   164 // If there is one, expand the alias in line and returns a new allocated line
   251     // local part (UI, logging, etc.)
   252     // local part (UI, logging, etc.)
   252     hk_message_out(jid, 0, msg);
   253     hk_message_out(jid, 0, msg);
   253   }
   254   }
   254 
   255 
   255   // Network part
   256   // Network part
   256   jb_send_msg(jid, msg, buddy_gettype(BUDDATA(current_buddy)));
   257   jb_send_msg(jid, msg, buddy_gettype(BUDDATA(current_buddy)), NULL);
   257 }
   258 }
   258 
   259 
   259 //  process_command(line)
   260 //  process_command(line)
   260 // Process a command line.
   261 // Process a command line.
   261 // Return 255 if this is the /quit command, and 0 for the other commands.
   262 // Return 255 if this is the /quit command, and 0 for the other commands.
  1080     if (!(buddy_gettype(bud) & ROSTER_TYPE_ROOM)) {
  1081     if (!(buddy_gettype(bud) & ROSTER_TYPE_ROOM)) {
  1081       scr_LogPrint(LPRINT_NORMAL, "This isn't a chatroom");
  1082       scr_LogPrint(LPRINT_NORMAL, "This isn't a chatroom");
  1082       return;
  1083       return;
  1083     }
  1084     }
  1084     jb_room_unlock(buddy_getjid(bud));
  1085     jb_room_unlock(buddy_getjid(bud));
       
  1086   } else if (!strncasecmp(arg, "topic", 5))  {
       
  1087     gchar *msg;
       
  1088     arg += 5;
       
  1089     if (*arg++ != ' ') {
       
  1090       scr_LogPrint(LPRINT_NORMAL, "Wrong or missing parameter");
       
  1091       return;
       
  1092     }
       
  1093     for (; *arg && *arg == ' '; arg++)
       
  1094       ;
       
  1095     if (!(buddy_gettype(bud) & ROSTER_TYPE_ROOM)) {
       
  1096       scr_LogPrint(LPRINT_NORMAL, "This isn't a chatroom");
       
  1097       return;
       
  1098     }
       
  1099     msg = g_strdup_printf("/me has set the topic to: %s", arg);
       
  1100     jb_send_msg(buddy_getjid(bud), msg, ROSTER_TYPE_ROOM, arg);
       
  1101     g_free(msg);
  1085   } else {
  1102   } else {
  1086     scr_LogPrint(LPRINT_NORMAL, "Unrecognized parameter!");
  1103     scr_LogPrint(LPRINT_NORMAL, "Unrecognized parameter!");
  1087   }
  1104   }
  1088 }
  1105 }
  1089 
  1106