文件管理器动态启用按钮

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() MemDisplayAndEdit::~MemDisplayAndEdit()
{ {
delete ui; delete ui;
} }
void MemDisplayAndEdit::updateSysStatusToUI(void){ void MemDisplayAndEdit::updateSysStatusToUI(void){
+22
View File
@@ -32,10 +32,14 @@ FileManageWidget::FileManageWidget(QWidget *parent) :
ui->systemFileListView->setMouseTracking(true); ui->systemFileListView->setMouseTracking(true);
ui->udiskFileListView->setMouseTracking(true); ui->udiskFileListView->setMouseTracking(true);
connect(ui->systemFileListView, &QListWidget::itemSelectionChanged, this, &FileManageWidget::refreshButtonsStatus);
connect(ui->udiskFileListView, &QListWidget::itemSelectionChanged, this, &FileManageWidget::refreshButtonsStatus);
updateUDiskDevList(); updateUDiskDevList();
m_focusedListView = ui->systemFileListView; m_focusedListView = ui->systemFileListView;
m_focusedListView->setFocus(); m_focusedListView->setFocus();
refreshButtonsStatus();
onFilterCBoxSelectChanged(ui->filterCBox->currentIndex()); onFilterCBoxSelectChanged(ui->filterCBox->currentIndex());
} }
@@ -75,6 +79,8 @@ bool FileManageWidget::eventFilter(QObject *watched, QEvent *event)
palette.setColor(backgroundPanel->backgroundRole(), "#5396C1"); palette.setColor(backgroundPanel->backgroundRole(), "#5396C1");
backgroundPanel->setPalette(palette); backgroundPanel->setPalette(palette);
refreshButtonsStatus();
return false; return false;
} }
@@ -152,6 +158,22 @@ void FileManageWidget::updateUDiskDevList()
updateFileListView(ui->udiskFileListView); 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) int FileManageWidget::updateFileListView(QListWidget* listView)
{ {
QString searchPath = listView->property("searchPath").toString(); QString searchPath = listView->property("searchPath").toString();
+2
View File
@@ -35,6 +35,8 @@ private slots:
void onDelSelectedBtnClicked(); void onDelSelectedBtnClicked();
void updateUDiskDevList(); void updateUDiskDevList();
void refreshButtonsStatus();
private: private:
int updateFileListView(QListWidget* listView); int updateFileListView(QListWidget* listView);
+7 -3
View File
@@ -449,7 +449,8 @@ void TestPrintWidget::createItemImage()
image.save("/home/plg/doc/scene.png"); image.save("/home/plg/doc/scene.png");
} }
void TestPrintWidget::getShowSelectItemText(){ void TestPrintWidget::getShowSelectItemText()
{
//Scene Test //Scene Test
QList<QGraphicsItem *> items=pPicScene->items(); QList<QGraphicsItem *> items=pPicScene->items();
int index=0; int index=0;
@@ -486,13 +487,17 @@ void TestPrintWidget::getShowSelectItemText(){
} }
} }
if(lastSelectedTxtItem) { if(!lastSelectedTxtItem) {
return;
}
// 对于文本item,将它的文本显示到编辑框 // 对于文本item,将它的文本显示到编辑框
if(lastSelectedTxtItem->sourceType() == SourceType::TEXT) { if(lastSelectedTxtItem->sourceType() == SourceType::TEXT) {
m_LineEdit->setText(lastSelectedTxtItem->source().toString()); m_LineEdit->setText(lastSelectedTxtItem->source().toString());
} }
pViewer->centerOn(lastSelectedTxtItem);
QString currItemFontFamily = lastSelectedTxtItem->font().family(); QString currItemFontFamily = lastSelectedTxtItem->font().family();
QHash<QString, int> fontNameToIndex; QHash<QString, int> fontNameToIndex;
@@ -513,7 +518,6 @@ void TestPrintWidget::getShowSelectItemText(){
ui.cbResolution->blockSignals(b); ui.cbResolution->blockSignals(b);
return; return;
} }
}
void TestPrintWidget::on_saveButton_pressed() void TestPrintWidget::on_saveButton_pressed()
{ {