文件管理器动态启用按钮

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);
+30 -26
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,33 +487,36 @@ void TestPrintWidget::getShowSelectItemText(){
} }
} }
if(lastSelectedTxtItem) { if(!lastSelectedTxtItem) {
// 对于文本item,将它的文本显示到编辑框
if(lastSelectedTxtItem->sourceType() == SourceType::TEXT) {
m_LineEdit->setText(lastSelectedTxtItem->source().toString());
}
QString currItemFontFamily = lastSelectedTxtItem->font().family();
QHash<QString, int> fontNameToIndex;
fontNameToIndex["WenQuanYi5"] = 0;
fontNameToIndex["WenQuanYi7"] = 1;
fontNameToIndex["Dinkie9"] = 2;
fontNameToIndex["WenQuanYi12"] = 3;
fontNameToIndex["WenQuanYi16"] = 4;
fontNameToIndex["WenQuanYi24"] = 5;
fontNameToIndex["WenQuanYi32"] = 6;
if(fontNameToIndex.count(currItemFontFamily) == 0) {
return;
}
auto b = ui.cbResolution->blockSignals(true);
ui.cbResolution->setCurrentIndex(fontNameToIndex[currItemFontFamily]);
ui.cbResolution->blockSignals(b);
return; 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;
fontNameToIndex["WenQuanYi5"] = 0;
fontNameToIndex["WenQuanYi7"] = 1;
fontNameToIndex["Dinkie9"] = 2;
fontNameToIndex["WenQuanYi12"] = 3;
fontNameToIndex["WenQuanYi16"] = 4;
fontNameToIndex["WenQuanYi24"] = 5;
fontNameToIndex["WenQuanYi32"] = 6;
if(fontNameToIndex.count(currItemFontFamily) == 0) {
return;
}
auto b = ui.cbResolution->blockSignals(true);
ui.cbResolution->setCurrentIndex(fontNameToIndex[currItemFontFamily]);
ui.cbResolution->blockSignals(b);
return;
} }
void TestPrintWidget::on_saveButton_pressed() void TestPrintWidget::on_saveButton_pressed()