HGGitLab

Commit 528f5ea8 authored by yangjiaxuan's avatar yangjiaxuan

优化功能

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