ENH: Replace Advanced checkbox and group option in menu with a combo box to

choose view type.
This commit is contained in:
Clinton Stimpson 2008-07-05 13:25:04 -04:00
parent 65ad7ba830
commit f729538aaa
3 changed files with 43 additions and 17 deletions

View File

@ -78,9 +78,11 @@ CMakeSetupDialog::CMakeSetupDialog()
this->AddEntry->setEnabled(false); this->AddEntry->setEnabled(false);
bool groupView = settings.value("GroupView", false).toBool(); bool groupView = settings.value("GroupView", false).toBool();
this->CacheValues->cacheModel()->setViewType(groupView ? if(groupView)
QCMakeCacheModel::GroupView : QCMakeCacheModel::FlatView); {
this->CacheValues->setRootIsDecorated(groupView); this->setViewType(2);
this->ViewType->setCurrentIndex(2);
}
QMenu* FileMenu = this->menuBar()->addMenu(tr("&File")); QMenu* FileMenu = this->menuBar()->addMenu(tr("&File"));
this->ReloadCacheAction = FileMenu->addAction(tr("&Reload Cache")); this->ReloadCacheAction = FileMenu->addAction(tr("&Reload Cache"));
@ -118,11 +120,6 @@ CMakeSetupDialog::CMakeSetupDialog()
this, SLOT(setDebugOutput(bool))); this, SLOT(setDebugOutput(bool)));
OptionsMenu->addSeparator(); OptionsMenu->addSeparator();
QAction* groupAction = OptionsMenu->addAction(tr("&Group Entries"));
groupAction->setCheckable(true);
groupAction->setChecked(this->CacheValues->cacheModel()->viewType() == QCMakeCacheModel::GroupView);
QObject::connect(groupAction, SIGNAL(toggled(bool)),
this, SLOT(toggleGroupView(bool)));
QAction* expandAction = OptionsMenu->addAction(tr("&Expand Grouped Entries")); QAction* expandAction = OptionsMenu->addAction(tr("&Expand Grouped Entries"));
QObject::connect(expandAction, SIGNAL(triggered(bool)), QObject::connect(expandAction, SIGNAL(triggered(bool)),
this->CacheValues, SLOT(expandAll())); this->CacheValues, SLOT(expandAll()));
@ -214,8 +211,8 @@ void CMakeSetupDialog::initialize()
SIGNAL(outputMessage(QString)), SIGNAL(outputMessage(QString)),
this, SLOT(message(QString))); this, SLOT(message(QString)));
QObject::connect(this->Advanced, SIGNAL(clicked(bool)), QObject::connect(this->ViewType, SIGNAL(currentIndexChanged(int)),
this->CacheValues, SLOT(setShowAdvanced(bool))); this, SLOT(setViewType(int)));
QObject::connect(this->Search, SIGNAL(textChanged(QString)), QObject::connect(this->Search, SIGNAL(textChanged(QString)),
this->CacheValues, SLOT(setSearchFilter(QString))); this->CacheValues, SLOT(setSearchFilter(QString)));
@ -931,13 +928,30 @@ void CMakeSetupDialog::setDebugOutput(bool flag)
"setDebugOutput", Qt::QueuedConnection, Q_ARG(bool, flag)); "setDebugOutput", Qt::QueuedConnection, Q_ARG(bool, flag));
} }
void CMakeSetupDialog::toggleGroupView(bool f) void CMakeSetupDialog::setViewType(int v)
{ {
this->CacheValues->cacheModel()->setViewType(f ? QCMakeCacheModel::GroupView : QCMakeCacheModel::FlatView); if(v == 0) // simple view
this->CacheValues->setRootIsDecorated(f); {
this->CacheValues->cacheModel()->setViewType(QCMakeCacheModel::FlatView);
this->CacheValues->setRootIsDecorated(false);
this->CacheValues->setShowAdvanced(false);
}
else if(v == 1) // advanced view
{
this->CacheValues->cacheModel()->setViewType(QCMakeCacheModel::FlatView);
this->CacheValues->setRootIsDecorated(false);
this->CacheValues->setShowAdvanced(true);
}
else if(v == 2) // grouped view
{
this->CacheValues->cacheModel()->setViewType(QCMakeCacheModel::GroupView);
this->CacheValues->setRootIsDecorated(true);
this->CacheValues->setShowAdvanced(true);
}
QSettings settings; QSettings settings;
settings.beginGroup("Settings/StartPath"); settings.beginGroup("Settings/StartPath");
settings.setValue("GroupView", this->CacheValues->cacheModel()->viewType() == QCMakeCacheModel::GroupView); settings.setValue("GroupView", v == 2);
} }

View File

@ -75,7 +75,7 @@ protected slots:
void addCacheEntry(); void addCacheEntry();
void startSearch(); void startSearch();
void setDebugOutput(bool); void setDebugOutput(bool);
void toggleGroupView(bool); void setViewType(int);
protected: protected:

View File

@ -127,10 +127,22 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="Advanced" > <widget class="QComboBox" name="ViewType" >
<item>
<property name="text" > <property name="text" >
<string>Show Ad&amp;vanced Entries</string> <string>Simple View</string>
</property> </property>
</item>
<item>
<property name="text" >
<string>Advanced View</string>
</property>
</item>
<item>
<property name="text" >
<string>Grouped View</string>
</property>
</item>
</widget> </widget>
</item> </item>
<item> <item>