!15 修正搜索功能的几个BUG

Merge pull request !15 from 枯叶蚊/search
This commit is contained in:
2020-12-12 14:48:02 +08:00
committed by Gitee
3 changed files with 43 additions and 37 deletions

View File

@@ -1,20 +1,16 @@
#include "image_show.h" #include "image_show.h"
#include <QScreen> // Qt5 不再建议使用 QDesktopWidget
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QDebug>
#include <QPainter> #include <QPainter>
#include <DDialog> #include <DDialog>
#include <DBlurEffectWidget> #include <DBlurEffectWidget>
#include <DWidgetUtil> #include <DWidgetUtil>
#include <DApplication> #include <DApplication>
#include <QDesktopWidget>
DWIDGET_USE_NAMESPACE 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); layout->addWidget(m_label);
setLayout(layout); setLayout(layout);
m_label->setText("layout"); m_label->setText("layout");
@@ -23,22 +19,16 @@ image_show::image_show(QWidget *parent)
void image_show::setImage(QPixmap image) void image_show::setImage(QPixmap image)
{ {
QImage screen0; QImage screen0;
screen0 = image.toImage(); screen0=image.toImage();
// QPainter painter(&screen0); // QPainter painter(&screen0);
QImage re_screen1; QImage re_screen1;
QImage re_screen0 = screen0.scaled(QSize(400,300),Qt::KeepAspectRatio,Qt::SmoothTransformation); QImage re_screen0=screen0.scaled(QSize(400,300),Qt::KeepAspectRatio,Qt::SmoothTransformation);
desktop_w=DApplication::desktop()->width();
// 获取主屏幕尺寸 desktop_h=DApplication::desktop()->height();
desktop_w = DApplication::primaryScreen()->geometry().width(); if(screen0.width()>(desktop_w-20) || screen0.height()>(desktop_h-20)){
desktop_h = DApplication::primaryScreen()->geometry().height(); re_screen1=screen0.scaled(QSize(desktop_w-20,desktop_h-20),Qt::KeepAspectRatio,Qt::SmoothTransformation);
m_image=QPixmap::fromImage(re_screen1);
if(screen0.width() > (desktop_w - 20) || screen0.height() > (desktop_h - 20)) }else {
{
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; m_image=image;
} }
@@ -47,12 +37,10 @@ void image_show::setImage(QPixmap image)
void image_show::mousePressEvent(QMouseEvent *) void image_show::mousePressEvent(QMouseEvent *)
{ {
m_dialog->setimage(m_image); m_dialog->setimage(m_image);
m_dialog->showFullScreen(); m_dialog->showFullScreen();
m_dialog->setFixedSize(desktop_w,desktop_h);
m_dialog->move(0,0);/*
moveToCenter(m_dialog);*/
// 识别主屏幕尺寸并设置 widget 大小
m_dialog->setFixedSize(desktop_w, desktop_h);
m_dialog->move(0,0);
// moveToCenter(m_dialog);
} }

View File

@@ -73,7 +73,8 @@ Widget::Widget(DBlurEffectWidget *parent) :
connect(&appinfoLoadThread, &SpkAppInfoLoaderThread::finishAllLoading, this, &Widget::sltAppinfoFinish, Qt::ConnectionType::BlockingQueuedConnection); 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(); QString searchtext=searchEdit->text();
if(searchtext!=""){ if(searchtext!=""){
qDebug()<<searchEdit->text(); qDebug()<<searchEdit->text();
@@ -458,6 +459,11 @@ void Widget::chooseLeftMenu(int index)
{ {
nowMenu=index; nowMenu=index;
// 菜单切换时,清除搜索栏的内容
if (!searchEdit->text().isEmpty()) {
searchEdit->clear();
}
updateUI(); updateUI();
if(QLocale::system().name() == "zh_CN") if(QLocale::system().name() == "zh_CN")
left_list[index]->setStyleSheet("color:#FFFFFF;background-color:"+main_color.name()+";border-radius:8;border:0px;"); 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) { }else if (index==13) {
ui->stackedWidget->setCurrentIndex(1); ui->stackedWidget->setCurrentIndex(1);
} }
} }
void Widget::setfoot(int h) void Widget::setfoot(int h)
@@ -732,7 +739,7 @@ void Widget::searchApp(QString text)
return; return;
// 关键字搜索处理 // 关键字搜索处理
httpClient->get("http://search.deepinos.org.cn/appinfo/search") httpClient->get("https://search.deepinos.org.cn/appinfo/search")
.header("content-type", "application/json") .header("content-type", "application/json")
.queryParam("keyword", text) .queryParam("keyword", text)
.onResponse([this](QByteArray result) { .onResponse([this](QByteArray result) {
@@ -792,7 +799,6 @@ void Widget::displaySearchApp(QJsonArray array)
}); });
} }
ui->applist_scrollarea->widget()->setLayout(applist_grid); ui->applist_scrollarea->widget()->setLayout(applist_grid);
qDebug() << "显示结果了吗????喵喵喵";
} }
void Widget::downloadIconsFinished(int arraysize) void Widget::downloadIconsFinished(int arraysize)
@@ -803,6 +809,7 @@ void Widget::downloadIconsFinished(int arraysize)
count = 0; count = 0;
mutex.unlock(); mutex.unlock();
} }
ui->applist_scrollarea->widget()->setLayout(applist_grid);
} }
void Widget::httpReadyRead() void Widget::httpReadyRead()
@@ -967,7 +974,17 @@ void Widget::on_pushButton_return_clicked()
// return; // return;
// } // }
appinfoLoadThread.requestInterruption(); appinfoLoadThread.requestInterruption();
chooseLeftMenu(nowMenu);
// 检测是否是从搜索页面进入到应用详情页的,根据搜索栏是否有关键词判断
if (searchEdit->text().isEmpty()) {
ui->webEngineView->back();
ui->stackedWidget->setCurrentIndex(0);
} else {
ui->stackedWidget->setCurrentIndex(4);
}
// chooseLeftMenu(nowMenu);
// if(themeIsDark){ // if(themeIsDark){
// QString darkurl=menuUrl[nowMenu].toString(); // QString darkurl=menuUrl[nowMenu].toString();
// QStringList tmp=darkurl.split("/"); // QStringList tmp=darkurl.split("/");
@@ -1172,7 +1189,8 @@ void Widget::opensetting()
void Widget::openUrl(QUrl u) void Widget::openUrl(QUrl u)
{ {
QString app=serverUrl + "store"+u.path()+"/app.json"; 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() void Widget::on_pushButton_website_clicked()

View File

@@ -365,11 +365,11 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QWebEngineView" name="webEngineView"> <widget class="QWebEngineView" name="webEngineView" native="true">
<property name="contextMenuPolicy"> <property name="contextMenuPolicy">
<enum>Qt::DefaultContextMenu</enum> <enum>Qt::DefaultContextMenu</enum>
</property> </property>
<property name="url"> <property name="url" stdset="0">
<url> <url>
<string>about:blank</string> <string>about:blank</string>
</url> </url>