[SCM] ktp-text-ui packaging branch, master, updated. debian/15.12.1-1-1918-gdf4b0ec

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


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-text-ui.git;a=commitdiff;h=b3130d0

The following commit has been merged in the master branch:
commit b3130d07417d265754083286e79622991d561902
Author: Dominik Cermak <d.cermak at arcor.de>
Date:   Sat May 12 20:26:32 2012 +0200

    Enable the "Previous Converstations" actions only if there is such a
    
    Reviewed-by: David Edmundson, Martin Klapetek
---
 app/CMakeLists.txt  |  2 +-
 app/chat-window.cpp | 14 ++++++++++++++
 app/chat-window.h   |  1 +
 lib/chat-widget.cpp | 10 +++++++++-
 lib/chat-widget.h   |  3 +++
 lib/logmanager.cpp  | 11 ++++++++++-
 6 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
index 7a4eb40..2e05cd7 100644
--- a/app/CMakeLists.txt
+++ b/app/CMakeLists.txt
@@ -17,7 +17,7 @@ target_link_libraries(ktp-text-ui
             ${KTP_LIBRARIES}
             ${QT_QTWEBKIT_LIBRARY}
             ${KDE4_KNOTIFYCONFIG_LIBS}
-	    ${KDE4_KCMUTILS_LIBS}
+            ${KDE4_KCMUTILS_LIBS}
             ktpchat)
 
 configure_file(org.freedesktop.Telepathy.Client.KTp.TextUi.service.in
diff --git a/app/chat-window.cpp b/app/chat-window.cpp
index 929fda0..119f7bc 100644
--- a/app/chat-window.cpp
+++ b/app/chat-window.cpp
@@ -326,6 +326,11 @@ void ChatWindow::onCurrentIndexChanged(int index)
 
     }
 
+    // only show enable the action if there are actually previous converstations
+#ifdef TELEPATHY_LOGGER_QT4_FOUND
+    setPreviousConversationsEnabled(currentChatTab->previousConversationAvailable());
+#endif
+
     setAccountIcon(currentChatTab->accountIcon());
 }
 
@@ -673,6 +678,15 @@ void ChatWindow::setShareDesktopEnabled(bool enable)
     }
 }
 
+void ChatWindow::setPreviousConversationsEnabled ( bool enable )
+{
+    QAction *action = actionCollection()->action(QLatin1String("open-log"));
+
+    if (action) {
+        action->setEnabled(enable);
+    }
+}
+
 void ChatWindow::setAccountIcon(const QIcon &icon)
 {
     m_accountIconLabel->setPixmap(icon.pixmap(toolBar()->iconSize()));
diff --git a/app/chat-window.h b/app/chat-window.h
index 690f286..6fd1c29 100644
--- a/app/chat-window.h
+++ b/app/chat-window.h
@@ -132,6 +132,7 @@ private:
     void setInviteToChatEnabled(bool enable);
     void setVideoCallEnabled(bool enable);
     void setShareDesktopEnabled(bool enable);
+    void setPreviousConversationsEnabled(bool enable);
 
     /** setter for account icon fake action */
     void setAccountIcon(const QIcon &protocolIcon);
diff --git a/lib/chat-widget.cpp b/lib/chat-widget.cpp
index 4d042aa..f2d1809 100644
--- a/lib/chat-widget.cpp
+++ b/lib/chat-widget.cpp
@@ -200,6 +200,9 @@ ChatWidget::ChatWidget(const Tp::TextChannelPtr & channel, const Tp::AccountPtr
     if (!d->isGroupChat) {
         d->logManager->setFetchAmount(3);
         d->logManager->setTextChannel(d->account, d->channel);
+        m_previousConversationAvailable = d->logManager->exists();
+    } else {
+        m_previousConversationAvailable = false;
     }
 }
 
@@ -274,7 +277,7 @@ ChatSearchBar *ChatWidget::chatSearchBar() const
 
 void ChatWidget::setChatEnabled(bool enable)
 {
-    d->ui.sendMessageBox->setEnabled(enable);    
+    d->ui.sendMessageBox->setEnabled(enable);
 
     // show a message informing the user
     AdiumThemeStatusInfo statusMessage;
@@ -909,6 +912,11 @@ Tp::ChannelChatState ChatWidget::remoteChatState()
     return d->remoteContactChatState;
 }
 
+bool ChatWidget::previousConversationAvailable()
+{
+    return m_previousConversationAvailable;
+}
+
 void ChatWidget::onChatPausedTimerExpired()
 {
         d->channel->requestChatState(Tp::ChannelChatStatePaused);
diff --git a/lib/chat-widget.h b/lib/chat-widget.h
index 533882b..686b632 100644
--- a/lib/chat-widget.h
+++ b/lib/chat-widget.h
@@ -89,6 +89,8 @@ public:
     /** Returns the chat state of remote contact */
     Tp::ChannelChatState remoteChatState();
 
+    bool previousConversationAvailable();
+
 public Q_SLOTS:
     /** toggle the search bar visibility */
     void toggleSearchBar() const;
@@ -174,6 +176,7 @@ private:
     void setupContactModelSignals();
 
     virtual bool isOnTop() const;
+    bool m_previousConversationAvailable;
 
     ChatWidgetPrivate * const d;
 };
diff --git a/lib/logmanager.cpp b/lib/logmanager.cpp
index c0cdb0f..747a35e 100644
--- a/lib/logmanager.cpp
+++ b/lib/logmanager.cpp
@@ -71,7 +71,16 @@ LogManager::~LogManager()
 bool LogManager::exists() const
 {
 #ifdef TELEPATHY_LOGGER_QT4_FOUND
-    return m_logManager->exists(m_account, m_contactEntity, Tpl::EventTypeMaskText);
+    if (!m_account.isNull() && !m_textChannel.isNull() && m_textChannel->targetHandleType() == Tp::HandleTypeContact) {
+        Tpl::EntityPtr contactEntity = Tpl::Entity::create(m_textChannel->targetContact()->id().toLatin1().data(),
+                                                           Tpl::EntityTypeContact,
+                                                           NULL,
+                                                           NULL);
+
+        return m_logManager->exists(m_account, contactEntity, Tpl::EventTypeMaskText);
+    } else {
+        return false;
+    }
 #else
     return false;
 #endif

-- 
ktp-text-ui packaging



More information about the pkg-kde-commits mailing list