From: Dirk H Bartley Date: Sun, 3 Aug 2008 16:27:06 +0000 (+0000) Subject: This adds the fixes to avoid the repeated popups of busy dialogs from the head X-Git-Tag: Release-2.4.3~33 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=49473db802236f4e4507b688c729b36e75371883;p=bacula%2Fbacula This adds the fixes to avoid the repeated popups of busy dialogs from the head to the 2.4 branch. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/branches/Branch-2.4@7459 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/src/qt-console/clients/clients.cpp b/bacula/src/qt-console/clients/clients.cpp index b04f1af243..7b2e4ba66c 100644 --- a/bacula/src/qt-console/clients/clients.cpp +++ b/bacula/src/qt-console/clients/clients.cpp @@ -51,6 +51,7 @@ Clients::Clients() /* mp_treeWidget, Storage Tree Tree Widget inherited from ui_client.h */ m_populated = false; + m_populating = false; m_checkcurwidget = true; m_closeable = false; /* add context sensitive menu items specific to this classto the page @@ -70,6 +71,9 @@ Clients::~Clients() */ void Clients::populateTree() { + if (m_populating) + return; + m_populating = true; QTreeWidgetItem *clientItem, *topItem; if (!m_console->preventInUseConnect()) @@ -135,6 +139,7 @@ void Clients::populateTree() for(int cnter=0; cnterresizeColumnToContents(cnter); } + m_populating = false; } /* diff --git a/bacula/src/qt-console/clients/clients.h b/bacula/src/qt-console/clients/clients.h index 6b4b77a879..1ca21c3d93 100644 --- a/bacula/src/qt-console/clients/clients.h +++ b/bacula/src/qt-console/clients/clients.h @@ -62,6 +62,7 @@ private: void createContextMenu(); QString m_currentlyselected; bool m_populated; + bool m_populating; bool m_checkcurwidget; }; diff --git a/bacula/src/qt-console/fileset/fileset.cpp b/bacula/src/qt-console/fileset/fileset.cpp index b1ed4933f7..a07c9569c4 100644 --- a/bacula/src/qt-console/fileset/fileset.cpp +++ b/bacula/src/qt-console/fileset/fileset.cpp @@ -50,6 +50,7 @@ FileSet::FileSet() /* mp_treeWidget, FileSet Tree Tree Widget inherited from ui_fileset.h */ m_populated = false; + m_populating = false; m_checkcurwidget = true; m_closeable = false; readSettings(); @@ -70,6 +71,10 @@ FileSet::~FileSet() */ void FileSet::populateTree() { + if (m_populating) + return; + m_populating = true; + QTreeWidgetItem *filesetItem, *topItem; if (!m_console->preventInUseConnect()) @@ -135,7 +140,7 @@ void FileSet::populateTree() for (int cnter=0; cnterresizeColumnToContents(cnter); } - + m_populating = false; } /* diff --git a/bacula/src/qt-console/fileset/fileset.h b/bacula/src/qt-console/fileset/fileset.h index ad13973ee2..fff0338bda 100644 --- a/bacula/src/qt-console/fileset/fileset.h +++ b/bacula/src/qt-console/fileset/fileset.h @@ -62,6 +62,7 @@ private: void createContextMenu(); QString m_currentlyselected; bool m_populated; + bool m_populating; bool m_checkcurwidget; }; diff --git a/bacula/src/qt-console/joblist/joblist.cpp b/bacula/src/qt-console/joblist/joblist.cpp index c83cbbdf15..4dc426fe69 100644 --- a/bacula/src/qt-console/joblist/joblist.cpp +++ b/bacula/src/qt-console/joblist/joblist.cpp @@ -60,6 +60,7 @@ JobList::JobList(const QString &mediaName, const QString &clientName, m_resultCount = 0; m_populated = false; + m_populating = false; m_closeable = false; if ((m_mediaName != "") || (m_clientName != "") || (m_jobName != "") || (m_filesetName != "")) m_closeable=true; @@ -106,6 +107,10 @@ JobList::~JobList() */ void JobList::populateTable() { + if (m_populating) + return; + m_populating = true; + QStringList results; QString resultline; QBrush blackBrush(Qt::black); @@ -293,6 +298,7 @@ void JobList::populateTable() tr("The Jobs query returned no results.\n" "Press OK to continue?"), QMessageBox::Ok ); } + m_populating = false; } void JobList::setStatusColor(QTableWidgetItem *item, QString &field) diff --git a/bacula/src/qt-console/joblist/joblist.h b/bacula/src/qt-console/joblist/joblist.h index 27e65e4e96..2a7f9346ce 100644 --- a/bacula/src/qt-console/joblist/joblist.h +++ b/bacula/src/qt-console/joblist/joblist.h @@ -85,6 +85,7 @@ private: QString m_filesetName; QString m_currentJob; bool m_populated; + bool m_populating; bool m_checkCurrentWidget; int m_purgedIndex; int m_typeIndex; diff --git a/bacula/src/qt-console/jobs/jobs.cpp b/bacula/src/qt-console/jobs/jobs.cpp index bc1046363f..80fb95d2f7 100644 --- a/bacula/src/qt-console/jobs/jobs.cpp +++ b/bacula/src/qt-console/jobs/jobs.cpp @@ -49,6 +49,7 @@ Jobs::Jobs() /* mp_treeWidget, Storage Tree Tree Widget inherited from ui_client.h */ m_populated = false; + m_populating = false; m_checkcurwidget = true; m_closeable = false; /* add context sensitive menu items specific to this classto the page @@ -68,6 +69,9 @@ Jobs::~Jobs() */ void Jobs::populateTree() { + if (m_populating) + return; + m_populating = true; QTreeWidgetItem *jobsItem, *topItem; if (!m_console->preventInUseConnect()) diff --git a/bacula/src/qt-console/jobs/jobs.h b/bacula/src/qt-console/jobs/jobs.h index 64abd2f879..6087642ceb 100644 --- a/bacula/src/qt-console/jobs/jobs.h +++ b/bacula/src/qt-console/jobs/jobs.h @@ -66,6 +66,7 @@ private: void createContextMenu(); QString m_currentlyselected; bool m_populated; + bool m_populating; bool m_checkcurwidget; int m_typeIndex; }; diff --git a/bacula/src/qt-console/medialist/medialist.cpp b/bacula/src/qt-console/medialist/medialist.cpp index 3c80ca9f42..49639a2ee4 100644 --- a/bacula/src/qt-console/medialist/medialist.cpp +++ b/bacula/src/qt-console/medialist/medialist.cpp @@ -54,6 +54,7 @@ MediaList::MediaList() /* mp_treeWidget, Storage Tree Tree Widget inherited from ui_medialist.h */ m_populated = false; + m_populating = false; m_checkcurwidget = true; m_closeable = false; /* add context sensitive menu items specific to this classto the page @@ -73,6 +74,9 @@ MediaList::~MediaList() void MediaList::populateTree() { QTreeWidgetItem *mediatreeitem, *pooltreeitem, *topItem; + if (m_populating) + return; + m_populating = true; if (!m_console->preventInUseConnect()) return; @@ -155,6 +159,7 @@ void MediaList::populateTree() for(int cnter=0; cnterresizeColumnToContents(cnter); } + m_populating = false; } void MediaList::setStatusColor(QTreeWidgetItem *item, QString &field, int &index) diff --git a/bacula/src/qt-console/medialist/medialist.h b/bacula/src/qt-console/medialist/medialist.h index c8cb0a5f53..61b6f8d628 100644 --- a/bacula/src/qt-console/medialist/medialist.h +++ b/bacula/src/qt-console/medialist/medialist.h @@ -69,6 +69,7 @@ private: QString m_currentVolumeName; QString m_currentVolumeId; bool m_populated; + bool m_populating; bool m_checkcurwidget; }; diff --git a/bacula/src/qt-console/storage/storage.cpp b/bacula/src/qt-console/storage/storage.cpp index a13f34904e..be26fa8ee1 100644 --- a/bacula/src/qt-console/storage/storage.cpp +++ b/bacula/src/qt-console/storage/storage.cpp @@ -52,6 +52,7 @@ Storage::Storage() /* mp_treeWidget, Storage Tree Tree Widget inherited from ui_storage.h */ m_populated = false; + m_populating = false; m_checkcurwidget = true; m_closeable = false; m_currentStorage = ""; @@ -71,6 +72,9 @@ Storage::~Storage() */ void Storage::populateTree() { + if (m_populating) + return; + m_populating = true; QTreeWidgetItem *storageItem, *topItem; if (!m_console->preventInUseConnect()) @@ -135,6 +139,7 @@ void Storage::populateTree() for(int cnter=0; cnterresizeColumnToContents(cnter); } + m_populating = false; } /* diff --git a/bacula/src/qt-console/storage/storage.h b/bacula/src/qt-console/storage/storage.h index fa33d80e72..0e659f1b0b 100644 --- a/bacula/src/qt-console/storage/storage.h +++ b/bacula/src/qt-console/storage/storage.h @@ -66,6 +66,7 @@ private: QString m_currentStorage; int m_currentAutoChanger; bool m_populated; + bool m_populating; bool m_checkcurwidget; };