diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2010-11-11 23:54:50 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2010-11-11 23:54:50 +0000 |
commit | 3645f7bc2d9ff6b7b4f87ed0188863ca9f45acc4 (patch) | |
tree | 4329da4f681ea076a1b0336986b71ba9f10cafbf /app-office/kmymoney/files | |
parent | Added patch to update docbook files to XML V4.2-Based Variant. Fixes bug 335023 (diff) | |
download | gentoo-2-3645f7bc2d9ff6b7b4f87ed0188863ca9f45acc4.tar.gz gentoo-2-3645f7bc2d9ff6b7b4f87ed0188863ca9f45acc4.tar.bz2 gentoo-2-3645f7bc2d9ff6b7b4f87ed0188863ca9f45acc4.zip |
Added upstream ui fix for languages with accented characters. Fixes bug 344195
(Portage version: 2.1.9.24/cvs/Linux x86_64)
Diffstat (limited to 'app-office/kmymoney/files')
-rw-r--r-- | app-office/kmymoney/files/kmymoney-4.5-accentfix.patch | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/app-office/kmymoney/files/kmymoney-4.5-accentfix.patch b/app-office/kmymoney/files/kmymoney-4.5-accentfix.patch new file mode 100644 index 000000000000..643addcd9f38 --- /dev/null +++ b/app-office/kmymoney/files/kmymoney-4.5-accentfix.patch @@ -0,0 +1,133 @@ +Index: kmymoney/widgets/kmymoneycompletion.cpp +=================================================================== +--- kmymoney/widgets/kmymoneycompletion.cpp (Revision 1193385) ++++ kmymoney/widgets/kmymoneycompletion.cpp (Revision 1193386) +@@ -31,6 +31,8 @@ + #include <QEvent> + #include <QDesktopWidget> + #include <QLineEdit> ++#include <QInputContext> ++#include <QInputContextFactory> + + // ---------------------------------------------------------------------------- + // KDE Includes +@@ -47,13 +49,14 @@ + kMyMoneyCompletion::kMyMoneyCompletion(QWidget *parent) : + KVBox(parent) + { +- setWindowFlags(Qt::Popup); +- setFrameStyle(QFrame::StyledPanel | QFrame::Raised); ++ setWindowFlags(Qt::ToolTip); ++ // make it look like the Qt completer ++ setMargin(0); ++ setLineWidth(0); + + m_parent = parent; +- setFocusProxy(parent); +- + m_selector = new KMyMoneySelector(this); ++ m_selector->listView()->setFocusProxy(parent); + + // to handle the keyboard events received by this widget in the same way as + // the keyboard events received by the other widgets +@@ -130,9 +133,10 @@ + } + } + +-void kMyMoneyCompletion::showEvent(QShowEvent*) ++void kMyMoneyCompletion::showEvent(QShowEvent* e) + { + show(true); ++ KVBox::showEvent(e); + } + + void kMyMoneyCompletion::show(bool presetSelected) +@@ -152,8 +156,12 @@ + c->lineEdit()->installEventFilter(this); + } + } +- + KVBox::show(); ++ // after the popup is shown for the first time the input context of the combobox gets messed up ++ // so replace it whit a new input context of the same type to handle input methods correctly ++ if (m_parent) { ++ m_parent->setInputContext(QInputContextFactory::create(m_parent->inputContext()->identifierName(), m_parent)); ++ } + } + + void kMyMoneyCompletion::hide(void) +@@ -176,6 +184,9 @@ + KMyMoneyCombo *c = dynamic_cast<KMyMoneyCombo*>(m_parent); + if (o == m_parent || (c && o == c->lineEdit()) || o == this) { + if (isVisible()) { ++ if (e->type() == QEvent::FocusOut) { ++ hide(); ++ } + if (e->type() == QEvent::KeyPress) { + QTreeWidgetItem* item = 0; + QKeyEvent* ev = static_cast<QKeyEvent*>(e); +@@ -266,9 +277,6 @@ + } + } + } +- // forward any keyboard event that was received by this widget and was not handled to the parent widget +- if (o == this && c && (e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease)) +- c->event(e); + return KVBox::eventFilter(o, e); + } + +Index: kmymoney/widgets/kmymoneyaccountcompletion.cpp +=================================================================== +--- kmymoney/widgets/kmymoneyaccountcompletion.cpp (Revision 1193385) ++++ kmymoney/widgets/kmymoneyaccountcompletion.cpp (Revision 1193386) +@@ -43,7 +43,7 @@ + { + delete m_selector; + m_selector = new kMyMoneyAccountSelector(this, 0, false); +- m_selector->listView()->setFocusProxy(this); ++ m_selector->listView()->setFocusProxy(parent); + + #ifndef KMM_DESIGNER + // Default is to show all accounts +Index: kmymoney/widgets/kmymoneyselector.cpp +=================================================================== +--- kmymoney/widgets/kmymoneyselector.cpp (Revision 1193385) ++++ kmymoney/widgets/kmymoneyselector.cpp (Revision 1193386) +@@ -43,6 +43,8 @@ + KMyMoneySelector::KMyMoneySelector(QWidget *parent, Qt::WFlags flags) : + QWidget(parent, flags) + { ++ setAutoFillBackground(true); ++ + m_selMode = QTreeWidget::SingleSelection; + + m_treeWidget = new QTreeWidget(this); +@@ -52,11 +54,6 @@ + m_treeWidget->setSortingEnabled(false); + m_treeWidget->setAlternatingRowColors(true); + +- if (parent) { +- setFocusProxy(parent->focusProxy()); +- m_treeWidget->setFocusProxy(parent->focusProxy()); +- } +- + m_treeWidget->setAllColumnsShowFocus(true); + + m_layout = new QHBoxLayout(this); +Index: kmymoney/widgets/kmymoneycombo.cpp +=================================================================== +--- kmymoney/widgets/kmymoneycombo.cpp (Revision 1193385) ++++ kmymoney/widgets/kmymoneycombo.cpp (Revision 1193386) +@@ -224,12 +224,6 @@ + + void KMyMoneyCombo::focusOutEvent(QFocusEvent* e) + { +- // when showing m_completion we'll receive a focus out event even if the focus +- // will still remain at this widget since this widget is the completion's focus proxy +- // so ignore the focus out event caused by showin a widget of type Qt::Popup +- if (e->reason() == Qt::PopupFocusReason) +- return; +- + if (m_inFocusOutEvent) { + KComboBox::focusOutEvent(e); + return; |