[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