Closed GoogleCodeExporter closed 8 years ago
Где-то уже это обсуждалось, так сделать
нельзя т.к. для системы это две разные
клавиши, а делать только из-за этого
поддержку нескольких клавиш для одного
действия не целесообразно.
Original comment by potapov.s.a
on 16 Mar 2011 at 5:09
Почему только для этого? поддержка
нескольких нужна и для других целей...
Original comment by wkg...@gmail.com
on 16 Mar 2011 at 5:14
Явной такой необходимости для других целей
я не вижу. Настрой клавишу, которой чаще
пользуешься и быстро привыкнешь
отправлять только ей.
Original comment by potapov.s.a
on 16 Mar 2011 at 6:01
Ваше дело, но лично меня только этот момент
останавливает чтоб перейти на Ваш
замечательный в остальном клиент... :(
Original comment by wkg...@gmail.com
on 16 Mar 2011 at 6:59
один Enter понятно, а второй какой? тот что на
нумпаде что-ли? если да - то я однозначно
против. сейчас Enter нумпада делает переход
на новую строку без отправки сообщения, и
это удобно.
Original comment by can...@inbox.ru
on 16 Mar 2011 at 7:02
Может кто-нибудь может подсказать где
можно что-нибудь пропатчить чтоб это
реализовать(объединить их для клиента), я
бы сам пропатчил, пытался найти, че то не
получается...чисто мне, не надо включать в
проект такой патч...
Original comment by wkg...@gmail.com
on 30 Sep 2011 at 10:13
./plugins/messagewidgets/editwidget.cpp
void EditWidget::setSendShortcut(const QString &AShortcutId)
{
if (FSendShortcutId != AShortcutId)
{
if (!FSendShortcutId.isEmpty())
Shortcuts::removeWidgetShortcut(FSendShortcutId,ui.medEditor);
FSendShortcutId = AShortcutId;
if (!FSendShortcutId.isEmpty())
Shortcuts::insertWidgetShortcut(FSendShortcutId,ui.medEditor);
onShortcutUpdated(FSendShortcutId);
emit sendShortcutChanged(FSendShortcutId);
}
}
как можно прям напрямую добавить тут
второй энтер который возле нумпада, без
всяких красивых настроек? в исходниках
вшить его...?
Original comment by wkg...@gmail.com
on 30 Sep 2011 at 10:16
Самое просто отлавливать в EditWidget::eventFilter
нажатие второй клавиши и делать действия
аналогичные нажатию на горячую клавишу.
ПРИБЛИЗИТЕЛЬНО вот так, сам не проверял
bool EditWidget::eventFilter(QObject *AWatched, QEvent *AEvent)
{
bool hooked = false;
if (AWatched==ui.medEditor && AEvent->type()==QEvent::KeyPress)
{
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(AEvent);
if (FSendShortcut[0] == keyEvent->key()+keyEvent->modifiers())
{
hooked = true;
onShortcutActivated(FSendShortcutId,ui.medEditor);
}
else if (Qt::Key_Enter == keyEvent->key()+keyEvent->modifiers())
{
hooked = true;
onShortcutActivated(FSendShortcutId,ui.medEditor);
}
else
{
emit keyEventReceived(keyEvent,hooked);
}
}
else if (AWatched==ui.medEditor && AEvent->type()==QEvent::ShortcutOverride)
{
hooked = true;
}
return hooked || QWidget::eventFilter(AWatched,AEvent);
}
Original comment by potapov.s.a
on 30 Sep 2011 at 1:01
Даже собралось, но не работает :( может еще
есть какой вариант?
Original comment by wkg...@gmail.com
on 30 Sep 2011 at 4:24
else if (Qt::Key_Enter == keyEvent->key()+keyEvent->modifiers())
{
qDebug() << "ok!";
hooked = true;
onShortcutActivated(FSendShortcutId,ui.medEditor);
}
так ok не выводит, не срабатывает условие... :(
Original comment by wkg...@gmail.com
on 30 Sep 2011 at 4:37
Original issue reported on code.google.com by
wkg...@gmail.com
on 14 Mar 2011 at 9:38