文件管理器动态启用按钮

This commit is contained in:
2026-05-25 17:16:54 +08:00
parent 358a56f602
commit dd64ec1252
4 changed files with 54 additions and 28 deletions
-2
View File
@@ -28,8 +28,6 @@ MemDisplayAndEdit::MemDisplayAndEdit(QWidget *parent) :
MemDisplayAndEdit::~MemDisplayAndEdit()
{
delete ui;
}
void MemDisplayAndEdit::updateSysStatusToUI(void){
+22
View File
@@ -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();
+2
View File
@@ -35,6 +35,8 @@ private slots:
void onDelSelectedBtnClicked();
void updateUDiskDevList();
void refreshButtonsStatus();
private:
int updateFileListView(QListWidget* listView);
+7 -3
View File
@@ -449,7 +449,8 @@ void TestPrintWidget::createItemImage()
image.save("/home/plg/doc/scene.png");
}
void TestPrintWidget::getShowSelectItemText(){
void TestPrintWidget::getShowSelectItemText()
{
//Scene Test
QList<QGraphicsItem *> items=pPicScene->items();
int index=0;
@@ -486,13 +487,17 @@ void TestPrintWidget::getShowSelectItemText(){
}
}
if(lastSelectedTxtItem) {
if(!lastSelectedTxtItem) {
return;
}
// 对于文本item,将它的文本显示到编辑框
if(lastSelectedTxtItem->sourceType() == SourceType::TEXT) {
m_LineEdit->setText(lastSelectedTxtItem->source().toString());
}
pViewer->centerOn(lastSelectedTxtItem);
QString currItemFontFamily = lastSelectedTxtItem->font().family();
QHash<QString, int> fontNameToIndex;
@@ -512,7 +517,6 @@ void TestPrintWidget::getShowSelectItemText(){
ui.cbResolution->setCurrentIndex(fontNameToIndex[currItemFontFamily]);
ui.cbResolution->blockSignals(b);
return;
}
}
void TestPrintWidget::on_saveButton_pressed()