[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/traverso/widgets ResourcesWidget.cpp
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/traverso/widgets ResourcesWidget.cpp |
Date: |
Tue, 23 Oct 2007 19:53:43 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/10/23 19:53:43
Modified files:
src/traverso/widgets: ResourcesWidget.cpp
Log message:
fix cpu hogging in some circumstances
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/ResourcesWidget.cpp?cvsroot=traverso&r1=1.30&r2=1.31
Patches:
Index: ResourcesWidget.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/widgets/ResourcesWidget.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- ResourcesWidget.cpp 11 Sep 2007 14:16:03 -0000 1.30
+++ ResourcesWidget.cpp 23 Oct 2007 19:53:43 -0000 1.31
@@ -200,6 +200,9 @@
layout()->addWidget(m_filewidget);
m_filewidget->hide();
+ m_currentSong = 0;
+ m_project = 0;
+
connect(viewComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(view_combo_box_index_changed(int)));
connect(songComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(song_combo_box_index_changed(int)));
@@ -292,6 +295,10 @@
void ResourcesWidget::set_current_song(Song * song)
{
+ if (m_currentSong == song) {
+ return;
+ }
+
if (song) {
int index = songComboBox->findData(song->get_id());
if (index != -1) {
@@ -311,6 +318,10 @@
return;
}
+ // a lot of layouting could happen due apply_filter calls
+ // disable layouting to avoid cpu hogging!
+ setUpdatesEnabled(false);
+
foreach(ClipTreeItem* item, m_clipindices.values()) {
item->apply_filter(m_currentSong);
}
@@ -319,6 +330,8 @@
foreach(SourceTreeItem* item, m_sourceindices.values()) {
item->apply_filter(m_currentSong);
}
+
+ setUpdatesEnabled(true);
}
@@ -418,10 +431,14 @@
void ClipTreeItem::apply_filter(Song * song)
{
if (m_clip->get_song_id() == song->get_id()) {
+ if (isHidden()) {
setHidden(false);
+ }
} else {
+ if (!isHidden()) {
setHidden(true);
}
+ }
}
- [Traverso-commit] traverso/src/traverso/widgets ResourcesWidget.cpp,
Remon Sijrier <=