Merge pull request #88 from mammonsama666/0116-fix

fix(frontend): There is not enough items in homepage.
This commit is contained in:
iaom 2021-01-16 09:06:08 +08:00 committed by GitHub
commit bf1467226d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 40 additions and 12 deletions

View File

@ -253,9 +253,9 @@ void ContentWidget::initHomePage() {
HomePageItem * item = new HomePageItem(itemWidget, i, path); HomePageItem * item = new HomePageItem(itemWidget, i, path);
layout->addWidget(item); layout->addWidget(item);
} }
for (int j = 0; j < 4 - lists.at(i).length(); j++) { for (int j = 0; j < 5 - lists.at(i).length(); j++) {
QWidget * emptyItem = new QWidget(itemWidget); QWidget * emptyItem = new QWidget(itemWidget);
emptyItem->setFixedSize(136, 136); //占位用widget,少于4项会补全后方占位 emptyItem->setFixedSize(108, 108); //占位用widget,少于4项会补全后方占位
layout->addWidget(emptyItem); layout->addWidget(emptyItem);
} }
if (i) titleLabel->setText(tr("Open Quickly")); if (i) titleLabel->setText(tr("Open Quickly"));

View File

@ -43,7 +43,7 @@ QStringList ConfigFile::readCommonly(){
} }
if(m_qSettings) if(m_qSettings)
delete m_qSettings; delete m_qSettings;
return returnlist.mid(0, 4); return returnlist.mid(0, 5);
} }
bool ConfigFile::writeRecently(QString message){ bool ConfigFile::writeRecently(QString message){

View File

@ -36,12 +36,18 @@ void HomePageItem::setupUi(const int& type, const QString& path) {
case SearchListView::ResType::File: { case SearchListView::ResType::File: {
QProcess process; QProcess process;
process.start(QString("xdg-open %1").arg(path)); process.start(QString("xdg-open %1").arg(path));
process.waitForFinished();
break; break;
} }
case SearchListView::ResType::Setting: { case SearchListView::ResType::Setting: {
//打开控制面板对应页面 //打开控制面板对应页面
QProcess process; QProcess * process = new QProcess;
process.start(QString("ukui-control-center --%1").arg(path.left(path.indexOf("/")).toLower())); connect(process, static_cast<void(QProcess::*)(int,QProcess::ExitStatus)>(&QProcess::finished), this, [ = ]() {
if (process) {
delete process;
}
});
process->start(QString("ukui-control-center --%1").arg(path.left(path.indexOf("/")).toLower()));
break; break;
} }
default: default:
@ -58,18 +64,30 @@ void HomePageItem::setupUi(const int& type, const QString& path) {
case SearchListView::ResType::App : { case SearchListView::ResType::App : {
icon = FileUtils::getAppIcon(path); icon = FileUtils::getAppIcon(path);
m_namelabel->setText(FileUtils::getAppName(path)); m_namelabel->setText(FileUtils::getAppName(path));
QFontMetrics fontMetrics = m_namelabel->fontMetrics();
QString name = FileUtils::getAppName(path);
m_namelabel->setText(fontMetrics.elidedText(name, Qt::ElideRight, 220));
this->setToolTip(name);
break; break;
} }
case SearchListView::ResType::Content: case SearchListView::ResType::Content:
case SearchListView::ResType::Dir : case SearchListView::ResType::Dir :
case SearchListView::ResType::File : { case SearchListView::ResType::File : {
icon = FileUtils::getFileIcon(QString("file://%1").arg(path)); icon = FileUtils::getFileIcon(QString("file://%1").arg(path));
m_namelabel->setText(FileUtils::getFileName(path)); // m_namelabel->setText(FileUtils::getFileName(path));
QFontMetrics fontMetrics = m_namelabel->fontMetrics();
QString name = FileUtils::getFileName(path);
m_namelabel->setText(fontMetrics.elidedText(name, Qt::ElideRight, 220));
this->setToolTip(name);
break; break;
} }
case SearchListView::ResType::Setting : { case SearchListView::ResType::Setting : {
icon = FileUtils::getSettingIcon(path, true); icon = FileUtils::getSettingIcon(path, true);
m_namelabel->setText(FileUtils::getSettingName(path)); // m_namelabel->setText(FileUtils::getSettingName(path));
QFontMetrics fontMetrics = m_namelabel->fontMetrics();
QString name = FileUtils::getSettingName(path);
m_namelabel->setText(fontMetrics.elidedText(name, Qt::ElideRight, 220));
this->setToolTip(name);
break; break;
} }
default : default :
@ -88,17 +106,23 @@ void HomePageItem::setupUi(const int& type, const QString& path) {
QIcon icon = FileUtils::getSettingIcon(path, true); QIcon icon = FileUtils::getSettingIcon(path, true);
m_iconlabel->setPixmap(icon.pixmap(icon.actualSize(QSize(48, 48)))); m_iconlabel->setPixmap(icon.pixmap(icon.actualSize(QSize(48, 48))));
m_namelabel->setText(FileUtils::getSettingName(path)); m_namelabel->setText(FileUtils::getSettingName(path));
this->setToolTip(FileUtils::getSettingName(path));
} else { } else {
QIcon icon = FileUtils::getAppIcon(path); QIcon icon = FileUtils::getAppIcon(path);
m_iconlabel->setPixmap(icon.pixmap(icon.actualSize(QSize(48, 48)))); m_iconlabel->setPixmap(icon.pixmap(icon.actualSize(QSize(48, 48))));
m_namelabel->setText(FileUtils::getAppName(path)); m_namelabel->setText(FileUtils::getAppName(path));
this->setToolTip(FileUtils::getAppName(path));
} }
} else { } else {
QIcon icon = FileUtils::getAppIcon(path); QIcon icon = FileUtils::getAppIcon(path);
m_iconlabel->setPixmap(icon.pixmap(icon.actualSize(QSize(48, 48)))); m_iconlabel->setPixmap(icon.pixmap(icon.actualSize(QSize(48, 48))));
m_namelabel->setText(FileUtils::getAppName(path)); // m_namelabel->setText(FileUtils::getAppName(path));
QFontMetrics fontMetrics = m_namelabel->fontMetrics();
QString name = FileUtils::getAppName(path);
m_namelabel->setText(fontMetrics.elidedText(name, Qt::ElideRight, 96));
this->setToolTip(name);
} }
m_widget->setFixedSize(120, 120); m_widget->setFixedSize(100, 100);
m_vlayout = new QVBoxLayout(m_widget); m_vlayout = new QVBoxLayout(m_widget);
m_vlayout->setContentsMargins(0,16,0,12); m_vlayout->setContentsMargins(0,16,0,12);
m_iconlabel->setAlignment(Qt::AlignCenter); m_iconlabel->setAlignment(Qt::AlignCenter);

View File

@ -241,9 +241,13 @@ bool SearchDetailView::openAction(const int& type, const QString& path) {
} }
case SearchListView::ResType::Setting: { case SearchListView::ResType::Setting: {
//打开控制面板对应页面 //打开控制面板对应页面
QProcess process; QProcess * process = new QProcess;
process.start(QString("ukui-control-center --%1").arg(path.left(path.indexOf("/")).toLower())); connect(process, static_cast<void(QProcess::*)(int,QProcess::ExitStatus)>(&QProcess::finished), this, [ = ]() {
process.waitForFinished(); if (process) {
delete process;
}
});
process->start(QString("ukui-control-center --%1").arg(path.left(path.indexOf("/")).toLower()));
return true; return true;
break; break;
} }