From: <bar...@us...> - 2008-05-31 23:15:01
|
Revision: 7077 http://bacula.svn.sourceforge.net/bacula/?rev=7077&view=rev Author: bartleyd2 Date: 2008-05-31 16:15:04 -0700 (Sat, 31 May 2008) Log Message: ----------- This will store in settings the expanded state of the storage tree. Modified Paths: -------------- trunk/bacula/src/qt-console/storage/storage.cpp trunk/bacula/src/qt-console/storage/storage.h Modified: trunk/bacula/src/qt-console/storage/storage.cpp =================================================================== --- trunk/bacula/src/qt-console/storage/storage.cpp 2008-05-31 21:21:28 UTC (rev 7076) +++ trunk/bacula/src/qt-console/storage/storage.cpp 2008-05-31 23:15:04 UTC (rev 7077) @@ -65,6 +65,8 @@ Storage::~Storage() { + if (m_populated) + writeExpandedSettings(); } /* @@ -73,11 +75,12 @@ */ void Storage::populateTree() { - QTreeWidgetItem *topItem; - if (!m_console->preventInUseConnect()) return; + if (m_populated) + writeExpandedSettings(); + m_checkcurwidget = false; mp_treeWidget->clear(); m_checkcurwidget = true; @@ -86,18 +89,25 @@ << tr("Changer") << tr("Slot") << tr("Status") << tr("Enabled") << tr("Pool") << tr("Media Type") ); - topItem = new QTreeWidgetItem(mp_treeWidget); - topItem->setText(0, tr("Storage")); - topItem->setData(0, Qt::UserRole, 0); - topItem->setExpanded(true); + m_topItem = new QTreeWidgetItem(mp_treeWidget); + m_topItem->setText(0, tr("Storage")); + m_topItem->setData(0, Qt::UserRole, 0); + m_topItem->setExpanded(true); mp_treeWidget->setColumnCount(headerlist.count()); mp_treeWidget->setHeaderLabels(headerlist); + QSettings settings(m_console->m_dir->name(), "bat"); + settings.beginGroup("StorageTreeExpanded"); + foreach(QString storageName, m_console->storage_list){ - TreeItemFormatter storageItem(*topItem, 1); + TreeItemFormatter storageItem(*m_topItem, 1); storageItem.setTextFld(0, storageName); - storageItem.widget()->setExpanded(true); + if(settings.contains(storageName)) { + storageItem.widget()->setExpanded(settings.value(storageName).toBool()); + } else { + storageItem.widget()->setExpanded(true); + } /* Set up query QString and header QStringList */ QString query("SELECT StorageId AS ID, AutoChanger AS Changer" @@ -203,7 +213,7 @@ if(!m_populated) { populateTree(); createContextMenu(); - m_populated=true; + m_populated = true; } } @@ -309,7 +319,7 @@ populateTree(); /* Create the context menu for the storage tree */ createContextMenu(); - m_populated=true; + m_populated = true; } } @@ -385,3 +395,18 @@ QTreeWidgetItem *parentItem = mainWin->getFromHash(this); new StorStat(m_currentStorage, parentItem); } + +/* + * Write settings to save expanded states of the pools + */ +void Storage::writeExpandedSettings() +{ + QSettings settings(m_console->m_dir->name(), "bat"); + settings.beginGroup("StorageTreeExpanded"); + int childcount = m_topItem->childCount(); + for (int cnt=0; cnt<childcount; cnt++) { + QTreeWidgetItem *item = m_topItem->child(cnt); + settings.setValue(item->text(0), item->isExpanded()); + } + settings.endGroup(); +} Modified: trunk/bacula/src/qt-console/storage/storage.h =================================================================== --- trunk/bacula/src/qt-console/storage/storage.h 2008-05-31 21:21:28 UTC (rev 7076) +++ trunk/bacula/src/qt-console/storage/storage.h 2008-05-31 23:15:04 UTC (rev 7077) @@ -69,6 +69,8 @@ int m_currentAutoChanger; bool m_populated; bool m_checkcurwidget; + void writeExpandedSettings(); + QTreeWidgetItem *m_topItem; }; #endif /* _STORAGE_H_ */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |