Commit eebee331 authored by Petar Perisin's avatar Petar Perisin

VCS Clean Dialog: Added "Select All" checkbox

Change-Id: I5bff60b1aa1985926efb6b850be958f48d67a029
Reviewed-by: default avatarTobias Hunger <tobias.hunger@digia.com>
Reviewed-by: default avatarPetar Perisin <petar.perisin@gmail.com>
parent 0bac4d86
......@@ -170,6 +170,8 @@ CleanDialog::CleanDialog(QWidget *parent) :
d->ui.filesTreeView->setRootIsDecorated(false);
connect(d->ui.filesTreeView, SIGNAL(doubleClicked(QModelIndex)),
this, SLOT(slotDoubleClicked(QModelIndex)));
connect(d->ui.selectAllCheckBox, SIGNAL(clicked(bool)), this, SLOT(selectAllItems(bool)));
connect(d->ui.filesTreeView, SIGNAL(clicked(QModelIndex)), this, SLOT(updateSelectAllCheckBox()));
}
CleanDialog::~CleanDialog()
......@@ -193,6 +195,9 @@ void CleanDialog::setFileList(const QString &workingDirectory, const QStringList
for (int c = 0; c < d->m_filesModel->columnCount(); c++)
d->ui.filesTreeView->resizeColumnToContents(c);
if (ignoredFiles.isEmpty())
d->ui.selectAllCheckBox->setChecked(true);
}
void CleanDialog::addFile(const QString &workingDirectory, QString fileName, bool checked)
......@@ -278,6 +283,31 @@ void CleanDialog::slotDoubleClicked(const QModelIndex &index)
}
}
void CleanDialog::selectAllItems(bool checked)
{
if (const int rowCount = d->m_filesModel->rowCount()) {
for (int r = 0; r < rowCount; ++r) {
QStandardItem *item = d->m_filesModel->item(r, 0);
item->setCheckState(checked ? Qt::Checked : Qt::Unchecked);
}
}
}
void CleanDialog::updateSelectAllCheckBox()
{
bool checked = true;
if (const int rowCount = d->m_filesModel->rowCount()) {
for (int r = 0; r < rowCount; ++r) {
const QStandardItem *item = d->m_filesModel->item(r, 0);
if (item->checkState() == Qt::Unchecked) {
checked = false;
break;
}
}
d->ui.selectAllCheckBox->setChecked(checked);
}
}
void CleanDialog::changeEvent(QEvent *e)
{
QDialog::changeEvent(e);
......
......@@ -60,6 +60,8 @@ protected:
private slots:
void slotDoubleClicked(const QModelIndex &);
void selectAllItems(bool checked);
void updateSelectAllCheckBox();
private:
QStringList checkedFiles() const;
......
......@@ -17,6 +17,13 @@
<item>
<widget class="QGroupBox" name="groupBox">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="selectAllCheckBox">
<property name="text">
<string>Select All</string>
</property>
</widget>
</item>
<item>
<widget class="QTreeView" name="filesTreeView"/>
</item>
......@@ -44,8 +51,8 @@
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
<x>257</x>
<y>649</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
......@@ -60,8 +67,8 @@
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
<x>325</x>
<y>649</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment