[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:23:04 UTC 2016


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

The following commit has been merged in the master branch:
commit 55eb12c86b2b5ea12682378bf3cd6b29e6fe64e1
Author: Dan Vrátil <dvratil at redhat.com>
Date:   Fri Dec 28 13:06:37 2012 +0100

    Configure how many lines of history to load
    
    Add option to text-ui configuration to set how many lines
    of previous conversation should be loaded.
    
    REVIEW: 107968
    BUG: 310982
    FIXED-IN: 0.6.0
---
 config/behavior-config.cpp | 12 ++++++++++++
 config/behavior-config.h   |  2 ++
 config/behavior-config.ui  | 43 +++++++++++++++++++++++++++++++++++++++++++
 lib/chat-widget.cpp        |  4 +++-
 lib/logmanager.cpp         |  4 ++--
 5 files changed, 62 insertions(+), 3 deletions(-)

diff --git a/config/behavior-config.cpp b/config/behavior-config.cpp
index 6e78168..84651a0 100644
--- a/config/behavior-config.cpp
+++ b/config/behavior-config.cpp
@@ -44,6 +44,9 @@ BehaviorConfig::BehaviorConfig(QWidget *parent, const QVariantList& args)
 
     ui->newTabButtonGroup->button(m_openMode)->setChecked(true);
     connect(ui->newTabButtonGroup, SIGNAL(buttonClicked(int)), this, SLOT(onRadioSelected(int)));
+
+    ui->scrollbackLength->setValue(m_scrollbackLength);
+    connect(ui->scrollbackLength, SIGNAL(valueChanged(int)), this, SLOT(onScrollbackLengthChanged()));
 }
 
 BehaviorConfig::~BehaviorConfig()
@@ -64,6 +67,8 @@ void BehaviorConfig::load()
     } else if (mode == QLatin1String("LastWindow")) {
         m_openMode = TelepathyChatUi::LastWindow;
     }
+
+    m_scrollbackLength = tabConfig.readEntry("scrollbackLength", 4);
 }
 
 void BehaviorConfig::save()
@@ -85,6 +90,7 @@ void BehaviorConfig::save()
     }
 
     tabConfig.writeEntry("tabOpenMode", mode);
+    tabConfig.writeEntry("scrollbackLength", m_scrollbackLength);
     tabConfig.sync();
 }
 
@@ -107,3 +113,9 @@ void BehaviorConfig::onRadioSelected(int id)
     kDebug() << "emitting changed(true)";
     Q_EMIT changed(true);
 }
+
+void BehaviorConfig::onScrollbackLengthChanged()
+{
+    m_scrollbackLength = ui->scrollbackLength->value();
+    Q_EMIT changed(true);
+}
diff --git a/config/behavior-config.h b/config/behavior-config.h
index 55d2fea..562187e 100644
--- a/config/behavior-config.h
+++ b/config/behavior-config.h
@@ -47,9 +47,11 @@ protected:
 
 private Q_SLOTS:
     void onRadioSelected(int id);
+    void onScrollbackLengthChanged();
 
 private:
     int m_openMode;
+    int m_scrollbackLength;
     Ui::BehaviorConfigUi *ui;
 };
 
diff --git a/config/behavior-config.ui b/config/behavior-config.ui
index 7b8e304..7de9d10 100644
--- a/config/behavior-config.ui
+++ b/config/behavior-config.ui
@@ -58,6 +58,49 @@
     </widget>
    </item>
    <item>
+    <widget class="KButtonGroup" name="scrollbackGroup">
+     <property name="title">
+      <string>Last conversation scrollback</string>
+     </property>
+     <layout class="QGridLayout" name="gridLayout">
+      <item row="0" column="0">
+       <widget class="QLabel" name="label_p1">
+        <property name="text">
+         <string extracomment="First part of "Show last %1 messages" string">Show last</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="1">
+       <widget class="QSpinBox" name="scrollbackLength">
+        <property name="value">
+         <number>4</number>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="2">
+       <widget class="QLabel" name="label_p2">
+        <property name="text">
+         <string extracomment="Second part of "Show last %1 messages" string">messages</string>
+        </property>
+       </widget>
+      </item>
+      <item row="0" column="3">
+       <spacer name="horizontalSpacer">
+        <property name="orientation">
+         <enum>Qt::Horizontal</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>40</width>
+          <height>20</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+     </layout>
+    </widget>
+   </item>
+   <item>
     <spacer name="verticalSpacer">
      <property name="orientation">
       <enum>Qt::Vertical</enum>
diff --git a/lib/chat-widget.cpp b/lib/chat-widget.cpp
index 8f63e14..fb40ccc 100644
--- a/lib/chat-widget.cpp
+++ b/lib/chat-widget.cpp
@@ -182,7 +182,9 @@ ChatWidget::ChatWidget(const Tp::TextChannelPtr & channel, const Tp::AccountPtr
 
     // initialize LogManager
     if (!d->isGroupChat) {
-        d->logManager->setFetchAmount(3);
+        KConfig config(QLatin1String("ktelepathyrc"));
+        KConfigGroup tabConfig = config.group("Behavior");
+        d->logManager->setFetchAmount(tabConfig.readEntry<int>("scrollbackLength", 4));
         d->logManager->setTextChannel(d->account, d->channel);
         m_previousConversationAvailable = d->logManager->exists();
     } else {
diff --git a/lib/logmanager.cpp b/lib/logmanager.cpp
index 50d1622..33cbe7e 100644
--- a/lib/logmanager.cpp
+++ b/lib/logmanager.cpp
@@ -84,7 +84,7 @@ void LogManager::setFetchAmount(int n)
 void LogManager::fetchLast()
 {
     kDebug();
-    if (!m_account.isNull() && !m_textChannel.isNull() && m_textChannel->targetHandleType() == Tp::HandleTypeContact) {
+    if (m_fetchAmount > 0 && !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,
@@ -146,7 +146,7 @@ void LogManager::onEventsFinished(Tpl::PendingOperation *po)
     QList<Tpl::EventPtr> allEvents = pe->events();
     QList<Tpl::TextEventPtr> events;
     QList<Tpl::EventPtr>::iterator i = allEvents.end();
-    while (i-- != allEvents.begin() && (events.count() <= m_fetchAmount)) {
+    while (i-- != allEvents.begin() && (events.count() < m_fetchAmount)) {
         Tpl::TextEventPtr textEvent = (*i).dynamicCast<Tpl::TextEvent>();
         if(!textEvent.isNull()) {
             if(!queuedMessageTokens.contains(textEvent->messageToken())) {

-- 
ktp-text-ui packaging



More information about the pkg-kde-commits mailing list