[SCM] ktp-contact-list packaging branch, master, updated. debian/15.12.1-2-1070-g6c56f91

Maximiliano Curia maxy at moszumanska.debian.org
Sat May 28 00:10:00 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=1de95bf

The following commit has been merged in the master branch:
commit 1de95bf573143efb4545b420d77cd84e0f8a0b46
Author: Dominik Cermak <d.cermak at arcor.de>
Date:   Wed Mar 14 12:27:38 2012 +0100

    Fix the removal of favorite rooms
    
    Use the right key.
    Disable the button correctly.
    Constify two methods.
---
 dialogs/join-chat-room-dialog.cpp | 10 ++++++----
 rooms-model.cpp                   | 15 ++++++++++++++-
 rooms-model.h                     | 11 ++++++++++-
 3 files changed, 30 insertions(+), 6 deletions(-)

diff --git a/dialogs/join-chat-room-dialog.cpp b/dialogs/join-chat-room-dialog.cpp
index 026c5e4..ec87fcd 100644
--- a/dialogs/join-chat-room-dialog.cpp
+++ b/dialogs/join-chat-room-dialog.cpp
@@ -176,15 +176,17 @@ void JoinChatRoomDialog::addFavorite()
 void JoinChatRoomDialog::removeFavorite()
 {
     QString favoriteHandle = ui->listView->currentIndex().data(FavoriteRoomsModel::HandleNameRole).toString();
+    QString favoriteAccount = ui->comboBox->itemData(ui->comboBox->currentIndex()).toString();
     QVariantMap room = ui->listView->currentIndex().data(FavoriteRoomsModel::FavoriteRoomRole).value<QVariantMap>();
 
-    if(m_favoriteRoomsGroup.keyList().contains(favoriteHandle)) {
-        m_favoriteRoomsGroup.deleteEntry(favoriteHandle);
-        m_favoriteRoomsGroup.sync();
+    QString key = favoriteHandle + favoriteAccount;
 
+    if(m_favoriteRoomsGroup.keyList().contains(key)) {
+        m_favoriteRoomsGroup.deleteEntry(key);
+        m_favoriteRoomsGroup.sync();
         m_favoritesModel->removeRoom(room);
 
-        if (m_favoritesModel->rowCount() == 0) {
+        if (m_favoritesModel->countForAccount(favoriteAccount) == 0) {
             ui->removeFavoritePushButton->setEnabled(false);
         }
     }
diff --git a/rooms-model.cpp b/rooms-model.cpp
index 1edba64..36b2700 100644
--- a/rooms-model.cpp
+++ b/rooms-model.cpp
@@ -227,7 +227,7 @@ void FavoriteRoomsModel::removeRoom(const QVariantMap &room)
     endRemoveRows();
 }
 
-bool FavoriteRoomsModel::containsRoom(const QString &handle, const QString &account)
+bool FavoriteRoomsModel::containsRoom(const QString &handle, const QString &account) const
 {
     bool contains = false;
 
@@ -239,3 +239,16 @@ bool FavoriteRoomsModel::containsRoom(const QString &handle, const QString &acco
 
     return contains;
 }
+
+int FavoriteRoomsModel::countForAccount(const QString &account) const
+{
+    int count = 0;
+
+    Q_FOREACH (const QVariantMap &room, m_favoriteRoomsList) {
+        if (room.value("account-identifier") == account) {
+            count++;
+        }
+    }
+
+    return count;
+}
diff --git a/rooms-model.h b/rooms-model.h
index 4040d34..8945472 100644
--- a/rooms-model.h
+++ b/rooms-model.h
@@ -111,7 +111,16 @@ public:
      *
      * 
eturn True if it contains the room else false.
      */
-    bool containsRoom(const QString &handle, const QString &account);
+    bool containsRoom(const QString &handle, const QString &account) const;
+
+    /**
+     * rief Returns the count of rooms for the specified account.
+     *
+     * \param account The account to return the count for.
+     *
+     * 
eturn The count of rooms.
+     */
+    int countForAccount(const QString &account) const;
 
 private:
     QList<QVariantMap> m_favoriteRoomsList;

-- 
ktp-contact-list packaging



More information about the pkg-kde-commits mailing list