New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Drag&drop?

Ветка для общения разработчиков и координации разработки

Drag&drop?

Postby ikm » Sun May 03, 2009 10:27 am

Ars,

скажи, ты пробовал, работают ли твои изменения в drag&drop в группах, перед тем как их комиттить?
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Drag&drop?

Postby Ars » Sun May 03, 2009 4:13 pm

Да, я проверял в висте и 9-й кубунте. Все нормально, и по драг-дропу, и по кнопкам. Почему в предыдущем диалоге падало - я понял, сейчас словари выбираю по id и падений ни разу не было замечено.
А что, что то не так?
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Drag&drop?

Postby ikm » Sun May 03, 2009 4:26 pm

Конечно не так. Перемещение словарей внутри группы не работает - словари просто удаляются. Добавление новых словарей происходит всегда в конец группы, даже если я четко выбираю место. куда их кинуть. Неужто это сложно заметить?

Сделай ты просто -- после системного дропа выкидывай все возможные дупы. то есть:

void MyClass::dropAcrion()
{
QtClass::dropAction();

removeDuplicates();
}

И раскомментируй insertRows() и setData(). Вот тебе и решение. И блин -- ну не надо ломать-то функционал, всё ж работало раньше, а теперь непонятно что происходит;)
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Re: Drag&drop?

Postby Ars » Sun May 03, 2009 6:55 pm

ммм... проблему с удалением после дропа я заметил и пофиксил, а насчет порядка, честно говоря, мне это было неочевидно.
К тому же я не совсем понял, каким образом обрабатывается дроп - получается, каким-то волшебным образом вставляются N строк без проверок существования чего-либо. Ладно, сейчас верну и попробую сделать фильтр, но имхо это как-то неправильно - нигде нет явной обработки факта перетаскивания.
Ars
 
Posts: 119
Joined: Sat Feb 21, 2009 11:03 pm

Re: Drag&drop?

Postby ikm » Sun May 03, 2009 6:59 pm

Явная обработка есть в базовом классе Qt. По умолчанию Qt сама всё делает, используя функции insert/removeRows() и setData().
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am


Return to Разработка

Who is online

Users browsing this forum: No registered users and 11 guests