HGGitLab

Commit 528f5ea8 authored by yangjiaxuan's avatar yangjiaxuan

优化功能

parent c742547e
......@@ -6,12 +6,11 @@
#include <iomanip>
#include <QDir>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <QLatin1String>
#include <qtextcodec.h>
#include <string.h>
#include <QCoreApplication>
config::config() : ini_(NULL), file_(""), schem_jsn_(NULL)
{
......@@ -68,22 +67,8 @@ void config::reload_schemes(void)
QString config::self_path(void)
{
char path[256];
int len = readlink("/proc/self/exe", path, sizeof(path) - 1);
if (len > 0 && len < sizeof(path))
{
for (--len; len > 0; --len)
{
if (path[len] == '/')
{
path[len] = 0;
break;
}
}
}
return QString::fromStdString(path);
QString qexePath = QCoreApplication::applicationDirPath();
return qexePath;
}
std::string config::read_mini_file(QString file)
{
......
#include "dialog_log.h"
#include "ui_dialog_log.h"
#include <sys/time.h>
#include <QDateTime>
dialog_log::dialog_log(QWidget *parent)
: QDialog(parent)
......@@ -15,6 +15,10 @@ dialog_log::dialog_log(QWidget *parent)
pbtn_continueScan = new QPushButton(this);
pbtn_finishScan = new QPushButton(this);
pbtn_stop->setVisible(false);
pbtn_continueScan->setVisible(false);
pbtn_finishScan->setVisible(false);
pbtn_stop->setText(tr("cancel scan"));
pbtn_clear->setText(tr("clear"));
pbtn_continueScan->setText(tr("continue scan"));
......@@ -41,28 +45,18 @@ dialog_log::~dialog_log()
void dialog_log::add_log(QString log, bool err)
{
char now[40];
timeval start;
tm l;
gettimeofday(&start, NULL);
localtime_r(&start.tv_sec, &l);
if(ui->listWidget->count() > 1000)
{
for(int i = 0; i < 100; ++i)
ui->listWidget->removeItemWidget(ui->listWidget->item(1));
}
sprintf(now, "[%04d-%02d-%02d %02d:%02d:%02d.%03d] ", l.tm_year + 1900, l.tm_mon + 1, l.tm_mday
, l.tm_hour, l.tm_min, l.tm_sec
, (start.tv_usec + 500) / 1000);
ui->listWidget->addItem(now + log);
QDateTime timeCurrent = QDateTime::currentDateTime();
QString time = timeCurrent.toString("[yy-MM-dd hh:mm:ss]");
ui->listWidget->addItem(time + " " + log);
int ind = ui->listWidget->count() - 1;
if(ind >= 0)
ui->listWidget->item(ind)->setTextColor(err ? Qt::red : Qt::black);
ui->listWidget->scrollToItem(ui->listWidget->item(ind)/*, QAbstractItemView::ScrollHint::PositionAtTop*/);
}
void dialog_log::setScanStatus(bool isscanning)
......
......@@ -219,6 +219,8 @@ MainWindow::MainWindow(QWidget *parent)
m_saneNoDevAction = new QAction(tr("nodevice"), this);
m_saneNoDevAction->setEnabled(false);
ui->menu_device->addAction(m_saneNoDevAction);
set_actions_enabled(false);
ui->menu_device->setEnabled(true);
m_wndStatusBar->setDeviceStatusInfo(m_saneNoDevAction->text());
m_saneDeviceAction = nullptr;
......@@ -659,6 +661,7 @@ void MainWindow::on_sane_dev_arrive(QString devName)
connect(action_dev, SIGNAL(triggered()), this, SLOT(on_devMenu_action_triggered()));
ui->menu_device->removeAction(m_saneNoDevAction);
ui->menu_device->addAction(action_dev);
set_actions_enabled(true);
if (nullptr == m_saneDeviceHandle)
{
......@@ -704,6 +707,8 @@ void MainWindow::on_sane_dev_remove(QString devName)
if (actions.isEmpty())
{
ui->menu_device->addAction(m_saneNoDevAction);
set_actions_enabled(false);
ui->menu_device->setEnabled(true);
}
m_wndStatusBar->setDeviceStatusInfo(m_saneNoDevAction->text());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment