73 lines
2.1 KiB
C++
73 lines
2.1 KiB
C++
/*
|
|
* SPDX-FileCopyrightText: 2023 Unisoc (Shanghai) Technologies Co., Ltd.
|
|
*
|
|
* SPDX-License-Identifier: LicenseRef-Unisoc-General-1.0
|
|
*/
|
|
|
|
#include <QApplication>
|
|
#include <QDesktopWidget>
|
|
#include "calculator.h"
|
|
#include <QFontDatabase>
|
|
#include <QTextCodec>
|
|
#include <QDebug>
|
|
#include <QTimer>
|
|
|
|
#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;
|
|
}
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
// Install our message handler.
|
|
qInstallMessageHandler(SyslogMessageHandler);
|
|
|
|
QApplication app(argc, argv);
|
|
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
|
|
int width=QApplication::desktop()->width();
|
|
int height=QApplication::desktop()->height();
|
|
qDebug() << width << height;
|
|
|
|
int index = QFontDatabase::addApplicationFont("/usr/share/fonts/ttf/LiberationMono-Regular.ttf");
|
|
if(index != 1)
|
|
{
|
|
QStringList fontList(QFontDatabase::applicationFontFamilies(index));
|
|
if(fontList.count()>0)
|
|
{
|
|
QFont font_zh(fontList.at(0));
|
|
|
|
//font_zh.setPointSize(5);
|
|
font_zh.setBold(false);
|
|
app.setFont(font_zh);
|
|
}
|
|
}
|
|
|
|
Calculator calc;
|
|
calc.resize(width/1.2,(height-60)/1.2);
|
|
calc.show();
|
|
return app.exec();
|
|
}
|