Истину глаголем

Feb 01, 2011 18:27

Захотелось как-то написать свой клиент для Music Player Daemon. Не имея опыта работы с GTK+, через две недели я всё же имел клиент, соответствующий моим требованиям. Осталось только реализовать Drag’n’Drop в плейлисте с возможностью тянуть несколько строк за раз. Так как штатными средствами GtkTreeView и GtkListStore этого не добиться, а официальный способ - написание собственной модели - сулил несколько дней курения мануалов и переписывание большого куска кода, было принято решение идти в обход.

Так, что нам мешает? Ага, клик мышкой с целью перетащить несколько выбранных строк воспринимается как выбор кликнутой строки, она же одна и тянется. Ну и ладно - пишем callback на кликанье по плейлисту, проверяем кнопки-модификаторы, смотрим, выбраны ли несколько строк и приходится ли клик на одну из них, ждём 120 миллисекунд, проверяем состояние мыши. Что, вы ещё не отпустили кнопку? Тогда тяните, сударь, наше дело - return TRUE;

кукурузо

Previous post Next post
Up