[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    =?utf-8?q?=5Btelepathy-chat-handler=5D_app=3A_Delete_ChatWidgets?=
From:       Lasse Liehu <lliehu () kolumbus ! fi>
Date:       2011-03-03 12:58:18
Message-ID: 20110303125818.AC107A60C9 () git ! kde ! org
[Download RAW message or body]

Git commit 4b9c8d5c74c9b4c9cbdb71af4db9ad1e8f4a22dc by Lasse Liehu.
Committed on 03/03/2011 at 13:56.
Pushed by lliehu into branch 'master'.

Delete ChatWidgets when removed from ChatWindows's tab bar
REVIEW: 100793

M  +4    -3    app/chatwindow.cpp     
M  +1    -1    app/chatwindow.h     

http://commits.kde.org/telepathy-chat-handler/4b9c8d5c74c9b4c9cbdb71af4db9ad1e8f4a22dc

diff --git a/app/chatwindow.cpp b/app/chatwindow.cpp
index fed4381..4c3f34b 100644
--- a/app/chatwindow.cpp
+++ b/app/chatwindow.cpp
@@ -47,7 +47,7 @@ ChatWindow::ChatWindow()
     m_tabWidget->setCloseButtonEnabled(true);
     m_tabWidget->setHoverCloseButtonDelayed(true);
     m_tabWidget->setTabBarHidden(true);
-    connect(m_tabWidget, SIGNAL(closeRequest(QWidget*)), m_tabWidget, SLOT(removePage(QWidget*)));
+    connect(m_tabWidget, SIGNAL(closeRequest(QWidget*)), this, SLOT(removeTab(QWidget*)));
     connect(m_tabWidget, SIGNAL(currentChanged(int)), this, SLOT(onCurrentIndexChanged(int)));
     connect(qobject_cast<KTabBar*>(m_tabWidget->tabBar()), SIGNAL(mouseMiddleClick(int)),
                 m_tabWidget, SLOT(removeTab(int)));
@@ -79,9 +79,10 @@ void ChatWindow::addTab(ChatWidget* chatWidget)
     activateWindow();
 }
 
-void ChatWindow::removeTab(ChatWidget* chatWidget)
+void ChatWindow::removeTab(QWidget* chatWidget)
 {
-    m_tabWidget->removeTab(m_tabWidget->indexOf(chatWidget));
+    m_tabWidget->removePage(chatWidget);
+    delete chatWidget;
 }
 
 void ChatWindow::updateTabText(const QString & newTitle)
diff --git a/app/chatwindow.h b/app/chatwindow.h
index 663a54a..804de10 100644
--- a/app/chatwindow.h
+++ b/app/chatwindow.h
@@ -36,9 +36,9 @@ public:
     virtual ~ChatWindow();
 
     void addTab(ChatWidget *chatWidget);
-    void removeTab(ChatWidget *chatWidget);
 
 public slots:
+    void removeTab(QWidget *chatWidget);
     void onCurrentIndexChanged(int index);
     void updateTabText(const QString &newTitle);
     void updateTabIcon(const KIcon &newIcon);

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic