diff --git a/src/image_show.cpp b/src/image_show.cpp index 3ffd68dc6a2b43997cf14730327d7ba00765d0c0..a9bcfa02a24704fbb818da4c9c6334c343dfebd1 100644 --- a/src/image_show.cpp +++ b/src/image_show.cpp @@ -1,20 +1,16 @@ #include "image_show.h" - -#include // Qt5 不再建议使用 QDesktopWidget #include +#include #include - #include #include #include #include - +#include DWIDGET_USE_NAMESPACE - -image_show::image_show(QWidget *parent) - : QWidget(parent) +image_show::image_show(QWidget *parent) : QWidget(parent) { - QHBoxLayout *layout = new QHBoxLayout; + QHBoxLayout *layout=new QHBoxLayout; layout->addWidget(m_label); setLayout(layout); m_label->setText("layout"); @@ -23,22 +19,16 @@ image_show::image_show(QWidget *parent) void image_show::setImage(QPixmap image) { QImage screen0; - screen0 = image.toImage(); - // QPainter painter(&screen0); + screen0=image.toImage(); +// QPainter painter(&screen0); QImage re_screen1; - QImage re_screen0 = screen0.scaled(QSize(400,300),Qt::KeepAspectRatio,Qt::SmoothTransformation); - - // 获取主屏幕尺寸 - desktop_w = DApplication::primaryScreen()->geometry().width(); - desktop_h = DApplication::primaryScreen()->geometry().height(); - - if(screen0.width() > (desktop_w - 20) || screen0.height() > (desktop_h - 20)) - { - re_screen1 = screen0.scaled(QSize(desktop_w - 20, desktop_h - 20), Qt::KeepAspectRatio, Qt::SmoothTransformation); - m_image = QPixmap::fromImage(re_screen1); - } - else - { + QImage re_screen0=screen0.scaled(QSize(400,300),Qt::KeepAspectRatio,Qt::SmoothTransformation); + desktop_w=DApplication::desktop()->width(); + desktop_h=DApplication::desktop()->height(); + if(screen0.width()>(desktop_w-20) || screen0.height()>(desktop_h-20)){ + re_screen1=screen0.scaled(QSize(desktop_w-20,desktop_h-20),Qt::KeepAspectRatio,Qt::SmoothTransformation); + m_image=QPixmap::fromImage(re_screen1); + }else { m_image=image; } @@ -47,12 +37,10 @@ void image_show::setImage(QPixmap image) void image_show::mousePressEvent(QMouseEvent *) { - m_dialog->setimage(m_image); - m_dialog->showFullScreen(); - - // 识别主屏幕尺寸并设置 widget 大小 - m_dialog->setFixedSize(desktop_w, desktop_h); + m_dialog->setimage(m_image); + m_dialog->showFullScreen(); + m_dialog->setFixedSize(desktop_w,desktop_h); + m_dialog->move(0,0);/* + moveToCenter(m_dialog);*/ - m_dialog->move(0,0); - // moveToCenter(m_dialog); } diff --git a/src/widget.cpp b/src/widget.cpp index b52d3095343f9cd0f7de8a2105bd59823d653805..55006b8258720e93ff8510126125fdbc30f5c685 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -73,7 +73,8 @@ Widget::Widget(DBlurEffectWidget *parent) : connect(&appinfoLoadThread, &SpkAppInfoLoaderThread::finishAllLoading, this, &Widget::sltAppinfoFinish, Qt::ConnectionType::BlockingQueuedConnection); // 搜索事件 - connect(searchEdit,&DSearchEdit::editingFinished,this,[=](){ + connect(searchEdit,&DSearchEdit::returnPressed ,this,[=](){ + qDebug() << "触发了搜索,呜啦啦啦!"; QString searchtext=searchEdit->text(); if(searchtext!=""){ qDebug()<text(); @@ -458,6 +459,11 @@ void Widget::chooseLeftMenu(int index) { nowMenu=index; + // 菜单切换时,清除搜索栏的内容 + if (!searchEdit->text().isEmpty()) { + searchEdit->clear(); + } + updateUI(); if(QLocale::system().name() == "zh_CN") left_list[index]->setStyleSheet("color:#FFFFFF;background-color:"+main_color.name()+";border-radius:8;border:0px;"); @@ -484,6 +490,7 @@ void Widget::chooseLeftMenu(int index) }else if (index==13) { ui->stackedWidget->setCurrentIndex(1); } + } void Widget::setfoot(int h) @@ -732,7 +739,7 @@ void Widget::searchApp(QString text) return; // 关键字搜索处理 - httpClient->get("http://search.deepinos.org.cn/appinfo/search") + httpClient->get("https://search.deepinos.org.cn/appinfo/search") .header("content-type", "application/json") .queryParam("keyword", text) .onResponse([this](QByteArray result) { @@ -792,7 +799,6 @@ void Widget::displaySearchApp(QJsonArray array) }); } ui->applist_scrollarea->widget()->setLayout(applist_grid); - qDebug() << "显示结果了吗????喵喵喵"; } void Widget::downloadIconsFinished(int arraysize) @@ -803,6 +809,7 @@ void Widget::downloadIconsFinished(int arraysize) count = 0; mutex.unlock(); } + ui->applist_scrollarea->widget()->setLayout(applist_grid); } void Widget::httpReadyRead() @@ -967,7 +974,17 @@ void Widget::on_pushButton_return_clicked() // return; // } appinfoLoadThread.requestInterruption(); - chooseLeftMenu(nowMenu); + + // 检测是否是从搜索页面进入到应用详情页的,根据搜索栏是否有关键词判断 + if (searchEdit->text().isEmpty()) { + ui->webEngineView->back(); + ui->stackedWidget->setCurrentIndex(0); + } else { + ui->stackedWidget->setCurrentIndex(4); + } + + + // chooseLeftMenu(nowMenu); // if(themeIsDark){ // QString darkurl=menuUrl[nowMenu].toString(); // QStringList tmp=darkurl.split("/"); @@ -1172,7 +1189,8 @@ void Widget::opensetting() void Widget::openUrl(QUrl u) { QString app=serverUrl + "store"+u.path()+"/app.json"; - ui->webEngineView->setUrl(app); +// ui->webEngineView->setUrl(app); + emit ui->webEngineView->urlChanged(app); } void Widget::on_pushButton_website_clicked() diff --git a/src/widget.ui b/src/widget.ui index bb24b3285fa3badd75dac9333318e2a6dd76b416..924c7a212ca43fb3e2defb3b12d4731d3f13dc35 100644 --- a/src/widget.ui +++ b/src/widget.ui @@ -365,11 +365,11 @@ 0 - + Qt::DefaultContextMenu - + about:blank