6#include "ui_MainWindow.h"
12 #include "FrmUpdater.h"
15 #include "QUIWidget/QUIWidget.h"
17#include "RabbitCommonTools.h"
18#include "RabbitCommonEncrypt.h"
19#ifdef HAVE_RABBITCOMMON_GUI
20#include "DockFolderBrowser.h"
22#include "RabbitCommonDir.h"
25#include <QDesktopServices>
28#include <QLoggingCategory>
30Q_LOGGING_CATEGORY(log,
"RabbitCommon.MainWindow")
39#ifdef HAVE_RABBITCOMMON_GUI
40 RabbitCommon::CTools::AddStyleMenu(ui->menuTools);
41 ui->menuTools->addMenu(RabbitCommon::CTools::GetLogMenu(
this));
42 ui->tbLog->setMenu(RabbitCommon::CTools::GetLogMenu(
this));
47 pDock->
setRootPath(RabbitCommon::CDir::Instance()->GetDirIcons(
true));
49 addDockWidget(Qt::LeftDockWidgetArea, pDock);
51 ui->menuTools->addAction(pDock->toggleViewAction());
56MainWindow::~MainWindow()
62void MainWindow::on_actionAbout_triggered()
66 dlg->setAttribute(Qt::WA_QuitOnClose,
true);
67#if defined (Q_OS_ANDROID)
75 QUIWidget::setFormInCenter(dlg);
79void MainWindow::on_actionUpdate_triggered()
84 QIcon icon = windowIcon();
85 if(icon.isNull())
return;
86 auto sizeList = icon.availableSizes();
87 if(sizeList.isEmpty())
return;
88 QPixmap p = icon.pixmap(*sizeList.begin());
89 m_pfrmUpdater->
SetTitle(p.toImage());
91 #if defined (Q_OS_ANDROID)
92 m_pfrmUpdater->showMaximized();
94 m_pfrmUpdater->show();
99 QUIWidget::setFormInCenter(m_pfrmUpdater);
103void MainWindow::on_pushButton_clicked()
105#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
106 QString szCmd =
"mkdir";
108 paras <<
"-p" <<
"/opt/RabbitCommonAdminAuthoriseTest";
109 qDebug() <<
"RabbitCommon::CTools::executeByRoot(szCmd, paras):"
112#elif defined(Q_OS_WINDOWS)
117void MainWindow::on_pbEncrypt_clicked()
120 e.SetPassword(ui->lePassword->text().toStdString().c_str());
122 int nRet = e.
Encode(ui->teInput->toPlainText(), out);
129 szOut = tr(
"Encrypt:") + QString(out) +
"\n" + tr(
"Source:") + szOut;
130 ui->teOutput->setPlainText(szOut);
135void MainWindow::on_pbGenerateCoreFile_clicked()
140void MainWindow::on_pbAddFile_clicked()
142 ui->cmbDownloadFiles->addItem(ui->cmbDownloadFiles->currentText());
145void MainWindow::on_pbDownload_clicked()
148 m_pDownload->deleteLater();
150 for(
int i = 0; i < ui->cmbDownloadFiles->count(); i++)
152 urls.push_back(QUrl(ui->cmbDownloadFiles->itemText(i)));
155 bool check = connect(m_pDownload, SIGNAL(sigFinished(
const QString)),
156 this, SLOT(slotDownloadFile(
const QString)));
158 check = connect(m_pDownload, SIGNAL(sigError(
int,
const QString)),
159 this, SLOT(slotDownloadError(
int,
const QString)));
161 m_pDownload->
Start(urls);
164void MainWindow::slotDownloadFile(
const QString szFile)
166 qDebug(log) <<
"Download file:" << szFile;
167 QDesktopServices::openUrl(QUrl::fromLocalFile(szFile));
170void MainWindow::slotDownloadError(
int nErr,
const QString szErr)
172 qDebug(log) <<
"Download file error:" << nErr << szErr;
void setRootPath(const QString dir)
Set root path.
QString rootPath() const
Get root path.
int SetTitle(QImage icon=QImage(), const QString &szTitle=QString())
SetTitle.
int SetInstallAutoStartup(bool bAutoStart=true)
Set install and automation startup.
Download the same file from multiple URLs.
int Start(QVector< QUrl > urls, QString szFileName=QString(), bool bSequence=false)
int Encode(const char *pIn, const int &inLen, char **pOut, int &outLen)
int Dencode(const char *pIn, const int &inLen, char **pOut, int &outLen)