[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [Konversation] 051b512: Return to previous update hack,
From: Stephan Binner <binner () kde ! org>
Date: 2010-07-01 13:27:09
Message-ID: 20100701132709.3FEFEBB551E () projects ! kde ! org
[Download RAW message or body]
commit 051b51291dfda179dd42813b94da4669768c65a3
Author: Stephan Binner <binner@kde.org>
Date: Fri Dec 5 20:13:35 2003 +0000
Return to previous update hack, start update timer if not already \
running when new channel data arrives, disable "Refresh List" and "Apply \
Filter" buttons during loading to prevent more than one run resulting in \
duplicates.
svn path=/trunk/kdeextragear-2/konversation/; revision=271409
diff --git a/konversation/channellistpanel.cpp \
b/konversation/channellistpanel.cpp index 3e8d1d1..18ec957 100644
--- a/konversation/channellistpanel.cpp
+++ b/konversation/channellistpanel.cpp
@@ -82,7 +82,7 @@ ChannelListPanel::ChannelListPanel(QWidget* parent) :
channelFilter=new \
QCheckBox(i18n("&Channel"),targetBox,"filter_target_channel_check"); \
topicFilter=new QCheckBox(i18n("&Topic"),targetBox,"filter_target_topic_check");
regexpCheck=new QCheckBox(i18n("&Regular \
expression"),targetBox,"regexp_check");
- QPushButton* applyFilter=new QPushButton(i18n("Appl&y \
Filter"),targetBox,"apply_filter_button"); + applyFilter=new \
QPushButton(i18n("Appl&y Filter"),targetBox,"apply_filter_button");
channelFilter->setChecked(getChannelTarget());
topicFilter->setChecked(getTopicTarget());
@@ -107,7 +107,7 @@ ChannelListPanel::ChannelListPanel(QWidget* parent) :
QHBox* actionBox=new QHBox(this);
actionBox->setSpacing(spacing());
- QPushButton* refreshListButton=new QPushButton(i18n("Re&fresh \
List"),actionBox,"refresh_list_button"); + refreshListButton=new \
QPushButton(i18n("Re&fresh List"),actionBox,"refresh_list_button"); \
QPushButton* saveListButton=new QPushButton(i18n("&Save \
List..."),actionBox,"save_list_button"); QPushButton* \
joinChannelButton=new QPushButton(i18n("&Join \
Channel"),actionBox,"join_channel_button");
@@ -164,8 +164,8 @@ void ChannelListPanel::refreshList()
updateUsersChannels();
- // update list view every 0.5 seconds
- updateTimer.start(500);
+ applyFilter->setEnabled(false);
+ refreshListButton->setEnabled(false);
emit refreshChannelList();
}
@@ -253,6 +253,11 @@ void ChannelListPanel::addToChannelList(const QString& \
channel,int users,const Q // set internal numbers of channels and users, \
display will be updated by a timer setNumChannels(getNumChannels()+1);
setNumUsers(getNumUsers()+users);
+
+ if (!updateTimer.isActive())
+ {
+ updateTimer.start(500);
+ }
}
void ChannelListPanel::updateDisplay()
@@ -273,14 +278,13 @@ void ChannelListPanel::updateDisplay()
QString users=channelLine.section(' ',1,1);
QString topic=channelLine.section(' ',2);
// add channel line to list view
- ChannelListViewItem* item=new \
ChannelListViewItem(channelListView,channel,users,topic);
- applyFilterToItem(item);
- // if it's the last one of this batch, update the widget
if(index==pendingChannels.count()-1)
{
channelListView->setUpdatesEnabled(true);
- channelListView->update();
}
+ ChannelListViewItem* item=new \
ChannelListViewItem(channelListView,channel,users,topic); + \
applyFilterToItem(item); + // if it's the last one of this batch, \
update the widget }
// clear list of pending inserts
pendingChannels.clear();
@@ -290,6 +294,8 @@ void ChannelListPanel::updateDisplay()
else
{
updateTimer.stop();
+ applyFilter->setEnabled(true);
+ refreshListButton->setEnabled(true);
}
}
@@ -485,4 +491,4 @@ void ChannelListPanel::contextMenu (KListView* /* l */, \
QListViewItem* i, const delete showURLmenu;
}
-#include "channellistpanel.moc"
+#include "channellistpanel.moc"
\ No newline at end of file
diff --git a/konversation/channellistpanel.h \
b/konversation/channellistpanel.h index bad39ab..41df215 100644
--- a/konversation/channellistpanel.h
+++ b/konversation/channellistpanel.h
@@ -116,6 +116,9 @@ class ChannelListPanel : public ChatWindow
QCheckBox* topicFilter;
QCheckBox* regexpCheck;
+ QPushButton* applyFilter;
+ QPushButton* refreshListButton;
+
KListView* channelListView;
QString filterText;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic