From 93185838746e7d9a6a9b92f3eb7ec4f51c82d18c Mon Sep 17 00:00:00 2001 From: Peter Oberndorfer Date: Fri, 10 Apr 2009 20:35:31 +0200 Subject: [PATCH] do not enable up/down buttons in buildset when moving makes no when a selected element is at top disable moving up same for moving down --- .../projectmanagerview/projectbuildsetwidget.cpp | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/projectmanagerview/projectbuildsetwidget.cpp b/plugins/projectmanagerview/projectbuildsetwidget.cpp index f184e0d..1dd5b94 100644 --- a/plugins/projectmanagerview/projectbuildsetwidget.cpp +++ b/plugins/projectmanagerview/projectbuildsetwidget.cpp @@ -90,13 +90,17 @@ void ProjectBuildSetWidget::setProjectView( ProjectManagerView* view ) void ProjectBuildSetWidget::selectionChanged() { - kDebug() << "checking selectionmodel:" << m_ui->itemView->selectionModel()->selectedRows(); - m_ui->removeItemButton->setEnabled( !m_ui->itemView->selectionModel()->selectedRows().isEmpty() ); + QModelIndexList selectedRows = m_ui->itemView->selectionModel()->selectedRows(); + kDebug() << "checking selectionmodel:" << selectedRows; + m_ui->removeItemButton->setEnabled( !selectedRows.isEmpty() ); m_ui->addItemButton->setEnabled( !m_view->selectedItems().isEmpty() ); - m_ui->upButton->setEnabled( !m_ui->itemView->selectionModel()->selectedRows().isEmpty() ); - m_ui->downButton->setEnabled( !m_ui->itemView->selectionModel()->selectedRows().isEmpty() ); - m_ui->bottomButton->setEnabled( !m_ui->itemView->selectionModel()->selectedRows().isEmpty() ); - m_ui->topButton->setEnabled( !m_ui->itemView->selectionModel()->selectedRows().isEmpty() ); + + bool enableUp = selectedRows.count() > 0 && selectedRows.first().row() != 0; + bool enableDown = selectedRows.count() > 0 && selectedRows.last().row() != m_ui->itemView->model()->rowCount() - 1; + m_ui->upButton->setEnabled( enableUp ); + m_ui->downButton->setEnabled( enableDown ); + m_ui->bottomButton->setEnabled( enableDown ); + m_ui->topButton->setEnabled( enableUp ); } ProjectBuildSetWidget::~ProjectBuildSetWidget()