文件管理器动态启用按钮
This commit is contained in:
@@ -32,10 +32,14 @@ FileManageWidget::FileManageWidget(QWidget *parent) :
|
||||
ui->systemFileListView->setMouseTracking(true);
|
||||
ui->udiskFileListView->setMouseTracking(true);
|
||||
|
||||
connect(ui->systemFileListView, &QListWidget::itemSelectionChanged, this, &FileManageWidget::refreshButtonsStatus);
|
||||
connect(ui->udiskFileListView, &QListWidget::itemSelectionChanged, this, &FileManageWidget::refreshButtonsStatus);
|
||||
|
||||
updateUDiskDevList();
|
||||
|
||||
m_focusedListView = ui->systemFileListView;
|
||||
m_focusedListView->setFocus();
|
||||
refreshButtonsStatus();
|
||||
|
||||
onFilterCBoxSelectChanged(ui->filterCBox->currentIndex());
|
||||
}
|
||||
@@ -75,6 +79,8 @@ bool FileManageWidget::eventFilter(QObject *watched, QEvent *event)
|
||||
palette.setColor(backgroundPanel->backgroundRole(), "#5396C1");
|
||||
backgroundPanel->setPalette(palette);
|
||||
|
||||
refreshButtonsStatus();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -152,6 +158,22 @@ void FileManageWidget::updateUDiskDevList()
|
||||
updateFileListView(ui->udiskFileListView);
|
||||
}
|
||||
|
||||
void FileManageWidget::refreshButtonsStatus()
|
||||
{
|
||||
if(!m_focusedListView)
|
||||
return;
|
||||
|
||||
auto selectedItems = m_focusedListView->selectedItems();
|
||||
|
||||
ui->cancelAllBtn->setEnabled(!selectedItems.isEmpty());
|
||||
ui->delSelectedBtn->setEnabled(!selectedItems.isEmpty());
|
||||
|
||||
ui->importBtn->setEnabled(!selectedItems.isEmpty() && ui->udiskFileListView == m_focusedListView);
|
||||
ui->exportBtn->setEnabled(!selectedItems.isEmpty() && ui->systemFileListView == m_focusedListView);
|
||||
|
||||
ui->selectAllBtn->setEnabled(m_focusedListView->count() != selectedItems.size());
|
||||
}
|
||||
|
||||
int FileManageWidget::updateFileListView(QListWidget* listView)
|
||||
{
|
||||
QString searchPath = listView->property("searchPath").toString();
|
||||
|
||||
@@ -35,6 +35,8 @@ private slots:
|
||||
void onDelSelectedBtnClicked();
|
||||
void updateUDiskDevList();
|
||||
|
||||
void refreshButtonsStatus();
|
||||
|
||||
private:
|
||||
|
||||
int updateFileListView(QListWidget* listView);
|
||||
|
||||
Reference in New Issue
Block a user