Yahoo!MessengerのクライアントソフトQazooのプログラム修正案
問題点
メッセージ入力中にメッセージが届くと、確定前の日本語が消えてしまう。
メッセージが来た際にQTabWidgetをshowPage()しているので、そこでclearFocus()が呼ばれている。
フォーカスが変更されてしまうと、入力中の日本語はクリアされてしまう。
そこで、メッセージの来た相手のタブがカレントだった場合にはshowPage()を呼ばないように
変更すればこの問題を回避できる。
ただし、別のタブのユーザーにメッセージが届いた場合には入力中のメッセージはクリアされる。
ContactHolder.cpp 内の void ContactHolder::popupMessageWindow() を修正する。
} else { //mainWindow->tabWidget->showPage((QWidget*)this); if(mainWindow->tabWidget->currentPage() != (QWidget*)this){ mainWindow->tabWidget->showPage((QWidget*)this); } } }