[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/office/kmymoney/kmymoney/views
From: Thomas Baumgart <thb () net-bembel ! de>
Date: 2011-10-03 7:52:57
Message-ID: 20111003075257.BC024AC886 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1257064 by tbaumgart:
Fix to make changes to payee data persistent upon selection of another payee
Needs backport to stable branch
BUG: 283205
M +14 -7 kpayeesview.cpp
M +1 -1 kpayeesview.h
--- trunk/extragear/office/kmymoney/kmymoney/views/kpayeesview.cpp #1257063:1257064
@@ -170,9 +170,7 @@
m_register->setDetailsColumnType(KMyMoneyRegister::AccountFirst);
m_balanceLabel->hide();
- connect(m_payeesList, SIGNAL(itemClicked(QListWidgetItem*)), this, \
SLOT(slotSelectPayee()));
- connect(m_payeesList, SIGNAL(itemActivated(QListWidgetItem*)), this, \
SLOT(slotSelectPayee()));
- connect(m_payeesList, \
SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, \
SLOT(slotSelectPayee())); + connect(m_payeesList, \
SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)), this, \
SLOT(slotSelectPayee(QListWidgetItem*,QListWidgetItem*))); connect(m_payeesList, \
SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, \
SLOT(slotStartRename(QListWidgetItem*))); connect(m_payeesList, \
SIGNAL(itemChanged(QListWidgetItem*)), this, \
SLOT(slotRenamePayee(QListWidgetItem*))); connect(m_payeesList, \
SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotOpenContextMenu(QPoint))); \
@@ -365,13 +363,13 @@ }
}
-void KPayeesView::slotSelectPayee(void)
+void KPayeesView::slotSelectPayee(QListWidgetItem* cur, QListWidgetItem* prev)
{
m_allowEditing = false;
// check if the content of a currently selected payee was modified
// and ask to store the data
- if (m_updateButton->isEnabled()) {
+ if (m_updateButton->isEnabled() && prev) {
if (KMessageBox::questionYesNo(this, QString("<qt>%1</qt>").arg(
i18n("Do you want to save the changes for \
<b>%1</b>?", m_newName)),
i18n("Save changes")) == KMessageBox::Yes) {
@@ -382,13 +380,13 @@
}
// loop over all payees and count the number of payees, also
- // optain last selected payee
+ // obtain last selected payee
QList<MyMoneyPayee> payeesList;
selectedPayees(payeesList);
emit selectObjects(payeesList);
- if (payeesList.isEmpty()) {
+ if (payeesList.isEmpty() && !cur) {
m_tabWidget->setEnabled(false); // disable tab widget
m_balanceLabel->hide();
clearItemData();
@@ -410,7 +408,16 @@
// selection mode of the QListView has been changed to Extended, this
// will also be the only selection and behave exactly as before - Andreas
try {
+ if (payeesList.count() > 0)
m_payee = payeesList[0];
+
+ if (cur) {
+ KPayeeListItem* item = dynamic_cast<KPayeeListItem*>(cur);
+ if (item) {
+ m_payee = item->payee();
+ }
+ }
+
m_newName = m_payee.name();
addressEdit->setEnabled(true);
--- trunk/extragear/office/kmymoney/kmymoney/views/kpayeesview.h #1257063:1257064
@@ -109,7 +109,7 @@
* This slot is called whenever the selection in m_payeesList
* has been changed.
*/
- void slotSelectPayee(void);
+ void slotSelectPayee(QListWidgetItem* cur = 0, QListWidgetItem* prev = 0);
/**
* This slot marks the current selected payee as modified (dirty).
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic