comparison console/libgnt/gntmain.c @ 13957:421259b9e06d

[gaim-migrate @ 16508] Use alt+, and alt+. to change the order of the window. committer: Tailor Script <tailor@pidgin.im>
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Mon, 17 Jul 2006 13:37:08 +0000
parents 841a5ffbfee4
children 0a0d2a1fd2bc
comparison
equal deleted inserted replaced
13956:f61428cc4019 13957:421259b9e06d
273 lock_focus_list = 0; 273 lock_focus_list = 0;
274 274
275 g_signal_connect(G_OBJECT(tree), "activate", G_CALLBACK(window_list_activate), NULL); 275 g_signal_connect(G_OBJECT(tree), "activate", G_CALLBACK(window_list_activate), NULL);
276 } 276 }
277 277
278 static void
279 shift_window(GntWidget *widget, int dir)
280 {
281 GList *all = g_list_first(focus_list);
282 GList *list = g_list_find(all, widget);
283 int length, pos;
284 if (!list)
285 return;
286
287 length = g_list_length(all);
288 pos = g_list_position(all, list);
289
290 pos += dir;
291 if (dir > 0)
292 pos++;
293
294 if (pos < 0)
295 pos = length;
296 else if (pos > length)
297 pos = 0;
298
299 all = g_list_insert(all, widget, pos);
300 all = g_list_delete_link(all, list);
301 if (focus_list == list)
302 focus_list = g_list_find(all, widget);
303 draw_taskbar();
304 }
305
278 static gboolean 306 static gboolean
279 io_invoke(GIOChannel *source, GIOCondition cond, gpointer null) 307 io_invoke(GIOChannel *source, GIOCondition cond, gpointer null)
280 { 308 {
281 char buffer[256]; 309 char buffer[256];
282 gboolean ret = FALSE; 310 gboolean ret = FALSE;
348 } 376 }
349 else if (strcmp(buffer + 1, "r") == 0 && focus_list) 377 else if (strcmp(buffer + 1, "r") == 0 && focus_list)
350 { 378 {
351 /* Resize window */ 379 /* Resize window */
352 mode = GNT_KP_MODE_RESIZE; 380 mode = GNT_KP_MODE_RESIZE;
381 }
382 else if (strcmp(buffer + 1, ",") == 0 && focus_list)
383 {
384 /* Re-order the list of windows */
385 shift_window(focus_list->data, -1);
386 }
387 else if (strcmp(buffer + 1, ".") == 0 && focus_list)
388 {
389 shift_window(focus_list->data, 1);
353 } 390 }
354 } 391 }
355 } 392 }
356 } 393 }
357 else if (mode == GNT_KP_MODE_MOVE && focus_list) 394 else if (mode == GNT_KP_MODE_MOVE && focus_list)