marking.c
changeset 25 39d261f589d0
parent 24 5254ab4a5f24
child 26 24ed43268d29
equal deleted inserted replaced
24:5254ab4a5f24 25:39d261f589d0
   165 		cmd = "list";
   165 		cmd = "list";
   166 
   166 
   167 	if (!strcmp (cmd, "list")) {
   167 	if (!strcmp (cmd, "list")) {
   168 
   168 
   169 		GSList *mel;
   169 		GSList *mel;
   170 
   170 		guint len = g_slist_length(marked_jids);
   171 		scr_log_print (LPRINT_NORMAL, "Marked jids:");
   171 
   172 		for (mel = marked_jids; mel; mel = mel->next) {
   172 		if (!marked_jids) {
   173 			char *jid = (char *) mel->data;
   173 			scr_log_print (LPRINT_NORMAL, "No marked JIDs.");
   174 			scr_log_print (LPRINT_NORMAL, " * %s", jid);
   174 		} else {
       
   175 			scr_log_print (LPRINT_NORMAL, "%d marked JIDs:", len);
       
   176 			for (mel = marked_jids; mel; mel = mel->next) {
       
   177 				char *jid = (char *) mel->data;
       
   178 				scr_log_print (LPRINT_NORMAL, " * %s", jid);
       
   179 			}
       
   180 			// Smartly set the status flag if we have more marks than the log
       
   181 			// window height.
       
   182 			if (len + 1 > scr_getlogwinheight()) {
       
   183 				scr_setmsgflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE);
       
   184 				scr_setattentionflag_if_needed(SPECIAL_BUFFER_STATUS_ID, TRUE,
       
   185 							       ROSTER_UI_PRIO_STATUS_WIN_MESSAGE, prio_max);
       
   186 			}
   175 		}
   187 		}
   176 
   188 
   177 	} else if (!strcmp (cmd, "clear")) {
   189 	} else if (!strcmp (cmd, "clear")) {
   178 
   190 
   179 		GSList *mel;
   191 		GSList *mel;
   186 
   198 
   187 	} else if (!strcmp (cmd, "do")) {
   199 	} else if (!strcmp (cmd, "do")) {
   188 		char *format = args[1];
   200 		char *format = args[1];
   189 
   201 
   190 		if (!format)
   202 		if (!format)
   191 			scr_log_print (LPRINT_NORMAL, "You must specify action to do with marked jids");
   203 			scr_log_print (LPRINT_NORMAL, "You must specify action to do with marked JIDs");
   192 		else {
   204 		else {
   193 			char     *pos   = format;
   205 			char     *pos   = format;
   194 			gboolean  found = FALSE;
   206 			gboolean  found = FALSE;
   195 			gboolean  error = FALSE;
   207 			gboolean  error = FALSE;
   196 
   208