From dd64ec125252cfd263fb530c192f5be082c6bab3 Mon Sep 17 00:00:00 2001 From: Byons Date: Mon, 25 May 2026 17:16:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=AE=A1=E7=90=86=E5=99=A8?= =?UTF-8?q?=E5=8A=A8=E6=80=81=E5=90=AF=E7=94=A8=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MemDisplayAndEdit.cpp | 2 -- fileManage/FileManageWidget.cpp | 22 +++++++++++++ fileManage/FileManageWidget.h | 2 ++ testprintwidget.cpp | 56 ++++++++++++++++++--------------- 4 files changed, 54 insertions(+), 28 deletions(-) diff --git a/MemDisplayAndEdit.cpp b/MemDisplayAndEdit.cpp index c57df49..d607d3e 100644 --- a/MemDisplayAndEdit.cpp +++ b/MemDisplayAndEdit.cpp @@ -28,8 +28,6 @@ MemDisplayAndEdit::MemDisplayAndEdit(QWidget *parent) : MemDisplayAndEdit::~MemDisplayAndEdit() { delete ui; - - } void MemDisplayAndEdit::updateSysStatusToUI(void){ diff --git a/fileManage/FileManageWidget.cpp b/fileManage/FileManageWidget.cpp index 24c5b50..c9d819f 100644 --- a/fileManage/FileManageWidget.cpp +++ b/fileManage/FileManageWidget.cpp @@ -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(); diff --git a/fileManage/FileManageWidget.h b/fileManage/FileManageWidget.h index c6c352f..5641844 100644 --- a/fileManage/FileManageWidget.h +++ b/fileManage/FileManageWidget.h @@ -35,6 +35,8 @@ private slots: void onDelSelectedBtnClicked(); void updateUDiskDevList(); + void refreshButtonsStatus(); + private: int updateFileListView(QListWidget* listView); diff --git a/testprintwidget.cpp b/testprintwidget.cpp index 8251b21..6d3a6b1 100644 --- a/testprintwidget.cpp +++ b/testprintwidget.cpp @@ -449,7 +449,8 @@ void TestPrintWidget::createItemImage() image.save("/home/plg/doc/scene.png"); } -void TestPrintWidget::getShowSelectItemText(){ +void TestPrintWidget::getShowSelectItemText() +{ //Scene Test QList items=pPicScene->items(); int index=0; @@ -486,33 +487,36 @@ void TestPrintWidget::getShowSelectItemText(){ } } - if(lastSelectedTxtItem) { - - // 对于文本item,将它的文本显示到编辑框 - if(lastSelectedTxtItem->sourceType() == SourceType::TEXT) { - m_LineEdit->setText(lastSelectedTxtItem->source().toString()); - } - - QString currItemFontFamily = lastSelectedTxtItem->font().family(); - - QHash 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); + if(!lastSelectedTxtItem) { return; } + + // 对于文本item,将它的文本显示到编辑框 + if(lastSelectedTxtItem->sourceType() == SourceType::TEXT) { + m_LineEdit->setText(lastSelectedTxtItem->source().toString()); + } + + pViewer->centerOn(lastSelectedTxtItem); + + QString currItemFontFamily = lastSelectedTxtItem->font().family(); + + QHash 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()