79 lines
2.2 KiB
C++
79 lines
2.2 KiB
C++
/*
|
|
* SPDX-FileCopyrightText: 2023 Unisoc (Shanghai) Technologies Co., Ltd.
|
|
*
|
|
* SPDX-License-Identifier: LicenseRef-Unisoc-General-1.0
|
|
*/
|
|
|
|
#include "mainwindow.h"
|
|
#include "appmanager.h"
|
|
#include <QApplication>
|
|
#include <QFontDatabase>
|
|
|
|
#include <QtGlobal>
|
|
#include <QString>
|
|
#include <QByteArray>
|
|
#include <QDebug>
|
|
#include <QScreen>
|
|
|
|
#include <cstdio>
|
|
#include <syslog.h>
|
|
// Handler for Qt log messages that sends output to syslog as well as standard error.
|
|
void SyslogMessageHandler(QtMsgType type, const QMessageLogContext &context, const QString &msg)
|
|
{
|
|
Q_UNUSED(context)
|
|
|
|
QByteArray localMsg = msg.toLocal8Bit();
|
|
switch (type) {
|
|
case QtDebugMsg:
|
|
syslog(LOG_DEBUG, "(debug): %s", localMsg.constData());
|
|
break;
|
|
case QtInfoMsg:
|
|
syslog(LOG_INFO, "(info): %s", localMsg.constData());
|
|
break;
|
|
case QtWarningMsg:
|
|
syslog(LOG_WARNING, "(warning): %s", localMsg.constData());
|
|
break;
|
|
case QtCriticalMsg:
|
|
syslog(LOG_CRIT, "(critical): %s", localMsg.constData());
|
|
break;
|
|
case QtFatalMsg:
|
|
syslog(LOG_ALERT, "(alert): %s", localMsg.constData());
|
|
break;
|
|
}
|
|
}
|
|
|
|
static QString fontpath = "/usr/share/fonts/ttf/LiberationMono-Regular.ttf";
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
// Install our message handler.
|
|
qInstallMessageHandler(SyslogMessageHandler);
|
|
|
|
QApplication a(argc, argv);
|
|
|
|
QRect rect = QGuiApplication::primaryScreen()->geometry();
|
|
int width = rect.size().width();
|
|
int height = rect.size().height();
|
|
qDebug() << width << height;
|
|
|
|
int index = QFontDatabase::addApplicationFont(fontpath);
|
|
if (index == -1) {
|
|
qDebug("Cannot open font ttf");
|
|
} else {
|
|
QString family = QFontDatabase::applicationFontFamilies(index).at(0);
|
|
QFont afont(family);
|
|
if(width > 480 && height > 720){
|
|
afont.setPixelSize(24);
|
|
}
|
|
a.setFont(afont);
|
|
}
|
|
|
|
MainWindow w;
|
|
w.setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint|Qt::WindowStaysOnBottomHint);
|
|
//w.setWindowFlags(Qt::Dialog|Qt::WindowMaximizeButtonHint);
|
|
w.setWindowState(Qt::WindowMaximized);
|
|
|
|
w.show();
|
|
return a.exec();
|
|
}
|