修复QSqlDatabasePrivate::removeDatabase警告;修复部分内存泄露;修复QDir的entryInfoList方法在查找不存在目录时小概率崩溃的问题;
This commit is contained in:
parent
f1a9a65f92
commit
2b01ee0e80
|
@ -67,7 +67,7 @@ private:
|
||||||
QDBusInterface *m_appDBInterface = nullptr;
|
QDBusInterface *m_appDBInterface = nullptr;
|
||||||
|
|
||||||
AppInfoTable *q = nullptr;
|
AppInfoTable *q = nullptr;
|
||||||
QSqlDatabase m_database;
|
QSqlDatabase *m_database = nullptr;
|
||||||
QString m_ConnectionName;
|
QString m_ConnectionName;
|
||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
using namespace UkuiSearch;
|
using namespace UkuiSearch;
|
||||||
|
|
||||||
AppInfoTablePrivate::AppInfoTablePrivate(AppInfoTable *parent) : QObject(parent), q(parent), m_database(QSqlDatabase())
|
AppInfoTablePrivate::AppInfoTablePrivate(AppInfoTable *parent) : QObject(parent), q(parent), m_database(new QSqlDatabase())
|
||||||
{
|
{
|
||||||
//dbus接收数据库信号
|
//dbus接收数据库信号
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ AppInfoTablePrivate::AppInfoTablePrivate(AppInfoTable *parent) : QObject(parent)
|
||||||
qDebug() << "App info database currunt connection name:" << m_ConnectionName;
|
qDebug() << "App info database currunt connection name:" << m_ConnectionName;
|
||||||
if (!this->openDataBase()) {
|
if (!this->openDataBase()) {
|
||||||
Q_EMIT q->DBOpenFailed();
|
Q_EMIT q->DBOpenFailed();
|
||||||
qWarning() << "Fail to open App DataBase, because:" << m_database.lastError();
|
qWarning() << "Fail to open App DataBase, because:" << m_database->lastError();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -224,8 +224,8 @@ bool AppInfoTablePrivate::addAppShortcut2Panel(QString &desktopfp)
|
||||||
bool AppInfoTablePrivate::searchInstallApp(QString &keyWord, QStringList &installAppInfoRes)
|
bool AppInfoTablePrivate::searchInstallApp(QString &keyWord, QStringList &installAppInfoRes)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
if (m_database.transaction()) {
|
if (m_database->transaction()) {
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QString cmd;
|
QString cmd;
|
||||||
if (keyWord.size() < 2) {
|
if (keyWord.size() < 2) {
|
||||||
cmd = QString("SELECT DESKTOP_FILE_PATH,LOCAL_NAME,ICON FROM APPINFO WHERE LOCAL_NAME OR NAME_EN OR NAME_ZH OR FIRST_LETTER_OF_PINYIN LIKE '%%0%' ORDER BY FAVORITES DESC")
|
cmd = QString("SELECT DESKTOP_FILE_PATH,LOCAL_NAME,ICON FROM APPINFO WHERE LOCAL_NAME OR NAME_EN OR NAME_ZH OR FIRST_LETTER_OF_PINYIN LIKE '%%0%' ORDER BY FAVORITES DESC")
|
||||||
|
@ -240,12 +240,12 @@ bool AppInfoTablePrivate::searchInstallApp(QString &keyWord, QStringList &instal
|
||||||
installAppInfoRes << sql.value(0).toString() << sql.value(1).toString() << sql.value(2).toString();
|
installAppInfoRes << sql.value(0).toString() << sql.value(1).toString() << sql.value(2).toString();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database.lastError();
|
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
if (!m_database.commit()) {
|
if (!m_database->commit()) {
|
||||||
qWarning() << "Failed to commit !" << cmd;
|
qWarning() << "Failed to commit !" << cmd;
|
||||||
m_database.rollback();
|
m_database->rollback();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -258,8 +258,8 @@ bool AppInfoTablePrivate::searchInstallApp(QString &keyWord, QStringList &instal
|
||||||
bool AppInfoTablePrivate::searchInstallApp(QStringList &keyWord, QStringList &installAppInfoRes)
|
bool AppInfoTablePrivate::searchInstallApp(QStringList &keyWord, QStringList &installAppInfoRes)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
if (m_database.transaction() or keyWord.size() != 0) {
|
if (m_database->transaction() or keyWord.size() != 0) {
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QString cmd;
|
QString cmd;
|
||||||
if (keyWord.at(0).size() < 2) {
|
if (keyWord.at(0).size() < 2) {
|
||||||
cmd = QString("SELECT DESKTOP_FILE_PATH,LOCAL_NAME,ICON,NAME_EN,NAME_ZH,FIRST_LETTER_OF_PINYIN FROM APPINFO"
|
cmd = QString("SELECT DESKTOP_FILE_PATH,LOCAL_NAME,ICON,NAME_EN,NAME_ZH,FIRST_LETTER_OF_PINYIN FROM APPINFO"
|
||||||
|
@ -285,12 +285,12 @@ bool AppInfoTablePrivate::searchInstallApp(QStringList &keyWord, QStringList &in
|
||||||
installAppInfoRes << sql.value(0).toString() << sql.value(1).toString() << sql.value(2).toString();
|
installAppInfoRes << sql.value(0).toString() << sql.value(1).toString() << sql.value(2).toString();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database.lastError();
|
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
if (!m_database.commit()) {
|
if (!m_database->commit()) {
|
||||||
qWarning() << "Failed to commit !" << cmd;
|
qWarning() << "Failed to commit !" << cmd;
|
||||||
m_database.rollback();
|
m_database->rollback();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -344,26 +344,26 @@ bool AppInfoTablePrivate::uninstallApp(QString &desktopfp)
|
||||||
|
|
||||||
QString AppInfoTablePrivate::lastError() const
|
QString AppInfoTablePrivate::lastError() const
|
||||||
{
|
{
|
||||||
return m_database.lastError().text();
|
return m_database->lastError().text();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AppInfoTablePrivate::setAppLaunchTimes(QString &desktopfp, size_t num)
|
bool AppInfoTablePrivate::setAppLaunchTimes(QString &desktopfp, size_t num)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
if (m_database.transaction()) {
|
if (m_database->transaction()) {
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QString cmd = QString("UPDATE appInfo SET MODIFYED_TIME='%0', LAUNCH_TIMES=%1, LAUNCHED=%2 WHERE DESKTOP_FILE_PATH='%3'")
|
QString cmd = QString("UPDATE appInfo SET MODIFYED_TIME='%0', LAUNCH_TIMES=%1, LAUNCHED=%2 WHERE DESKTOP_FILE_PATH='%3'")
|
||||||
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
|
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
|
||||||
.arg(num)
|
.arg(num)
|
||||||
.arg(1)
|
.arg(1)
|
||||||
.arg(desktopfp);
|
.arg(desktopfp);
|
||||||
if (!sql.exec(cmd)) {
|
if (!sql.exec(cmd)) {
|
||||||
qWarning() << "Set app favorites state failed!" << m_database.lastError();
|
qWarning() << "Set app favorites state failed!" << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
if (!m_database.commit()) {
|
if (!m_database->commit()) {
|
||||||
qWarning() << "Failed to commit !" << cmd;
|
qWarning() << "Failed to commit !" << cmd;
|
||||||
m_database.rollback();
|
m_database->rollback();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -376,8 +376,8 @@ bool AppInfoTablePrivate::setAppLaunchTimes(QString &desktopfp, size_t num)
|
||||||
bool AppInfoTablePrivate::updateAppLaunchTimes(QString &desktopfp)
|
bool AppInfoTablePrivate::updateAppLaunchTimes(QString &desktopfp)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
if (m_database.transaction()) {
|
if (m_database->transaction()) {
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QString cmd = QString("SELECT LAUNCH_TIMES FROM APPINFO WHERE DESKTOP_FILE_PATH='%1'").arg(desktopfp);
|
QString cmd = QString("SELECT LAUNCH_TIMES FROM APPINFO WHERE DESKTOP_FILE_PATH='%1'").arg(desktopfp);
|
||||||
if (sql.exec(cmd)) {
|
if (sql.exec(cmd)) {
|
||||||
if (sql.next()) {
|
if (sql.next()) {
|
||||||
|
@ -387,7 +387,7 @@ bool AppInfoTablePrivate::updateAppLaunchTimes(QString &desktopfp)
|
||||||
.arg(1)
|
.arg(1)
|
||||||
.arg(desktopfp);
|
.arg(desktopfp);
|
||||||
if (!sql.exec(cmd)) {
|
if (!sql.exec(cmd)) {
|
||||||
qWarning() << "Set app favorites state failed!" << m_database.lastError();
|
qWarning() << "Set app favorites state failed!" << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -398,9 +398,9 @@ bool AppInfoTablePrivate::updateAppLaunchTimes(QString &desktopfp)
|
||||||
qWarning() << "Failed to exec:" << cmd;
|
qWarning() << "Failed to exec:" << cmd;
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
if (!m_database.commit()) {
|
if (!m_database->commit()) {
|
||||||
qWarning() << "Failed to commit !" << cmd;
|
qWarning() << "Failed to commit !" << cmd;
|
||||||
m_database.rollback();
|
m_database->rollback();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -413,19 +413,19 @@ bool AppInfoTablePrivate::updateAppLaunchTimes(QString &desktopfp)
|
||||||
bool AppInfoTablePrivate::setAppLockState(QString &desktopfp, size_t num)
|
bool AppInfoTablePrivate::setAppLockState(QString &desktopfp, size_t num)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
if (m_database.transaction()) {
|
if (m_database->transaction()) {
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QString cmd = QString("UPDATE appInfo SET MODIFYED_TIME='%0', LOCK=%1 WHERE DESKTOP_FILE_PATH='%2'")
|
QString cmd = QString("UPDATE appInfo SET MODIFYED_TIME='%0', LOCK=%1 WHERE DESKTOP_FILE_PATH='%2'")
|
||||||
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
|
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"))
|
||||||
.arg(num)
|
.arg(num)
|
||||||
.arg(desktopfp);
|
.arg(desktopfp);
|
||||||
if (!sql.exec(cmd)) {
|
if (!sql.exec(cmd)) {
|
||||||
qWarning() << "Set app favorites state failed!" << m_database.lastError();
|
qWarning() << "Set app favorites state failed!" << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
if (!m_database.commit()) {
|
if (!m_database->commit()) {
|
||||||
qWarning() << "Failed to commit !" << cmd;
|
qWarning() << "Failed to commit !" << cmd;
|
||||||
m_database.rollback();
|
m_database->rollback();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -438,7 +438,7 @@ bool AppInfoTablePrivate::setAppLockState(QString &desktopfp, size_t num)
|
||||||
bool AppInfoTablePrivate::getAllAppDesktopList(QStringList &list)
|
bool AppInfoTablePrivate::getAllAppDesktopList(QStringList &list)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QString cmd = QString("SELECT DESKTOP_FILE_PATH FROM APPINFO");
|
QString cmd = QString("SELECT DESKTOP_FILE_PATH FROM APPINFO");
|
||||||
|
|
||||||
if (sql.exec(cmd)) {
|
if (sql.exec(cmd)) {
|
||||||
|
@ -446,7 +446,7 @@ bool AppInfoTablePrivate::getAllAppDesktopList(QStringList &list)
|
||||||
list.append(sql.value(0).toString());
|
list.append(sql.value(0).toString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database.lastError();
|
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -456,14 +456,14 @@ bool AppInfoTablePrivate::getAllAppDesktopList(QStringList &list)
|
||||||
bool AppInfoTablePrivate::getFavoritesAppList(QStringList &list)
|
bool AppInfoTablePrivate::getFavoritesAppList(QStringList &list)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QString cmd = QString("SELECT DESKTOP_FILE_PATH FROM APPINFO WHERE FAVORITES!=0 ORDER BY FAVORITES");
|
QString cmd = QString("SELECT DESKTOP_FILE_PATH FROM APPINFO WHERE FAVORITES!=0 ORDER BY FAVORITES");
|
||||||
if (sql.exec(cmd)) {
|
if (sql.exec(cmd)) {
|
||||||
while (sql.next()) {
|
while (sql.next()) {
|
||||||
list.append(sql.value(0).toString());
|
list.append(sql.value(0).toString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database.lastError();
|
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
@ -472,7 +472,7 @@ bool AppInfoTablePrivate::getFavoritesAppList(QStringList &list)
|
||||||
bool AppInfoTablePrivate::getTopAppList(QStringList &list)
|
bool AppInfoTablePrivate::getTopAppList(QStringList &list)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QString cmd = QString("SELECT DESKTOP_FILE_PATH FROM APPINFO WHERE TOP!=0 ORDER BY TOP");
|
QString cmd = QString("SELECT DESKTOP_FILE_PATH FROM APPINFO WHERE TOP!=0 ORDER BY TOP");
|
||||||
|
|
||||||
if (sql.exec(cmd)) {
|
if (sql.exec(cmd)) {
|
||||||
|
@ -480,7 +480,7 @@ bool AppInfoTablePrivate::getTopAppList(QStringList &list)
|
||||||
list.append(sql.value(0).toString());
|
list.append(sql.value(0).toString());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database.lastError();
|
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -490,9 +490,9 @@ bool AppInfoTablePrivate::getTopAppList(QStringList &list)
|
||||||
bool AppInfoTablePrivate::getLaunchTimesAppList(QStringList &list)
|
bool AppInfoTablePrivate::getLaunchTimesAppList(QStringList &list)
|
||||||
{
|
{
|
||||||
bool res(true);
|
bool res(true);
|
||||||
if (m_database.transaction()) {
|
if (m_database->transaction()) {
|
||||||
QSqlQuery sql(m_database);
|
QSqlQuery sql(*m_database);
|
||||||
QSqlQuery sqlque(m_database);
|
QSqlQuery sqlque(*m_database);
|
||||||
QString cmd = QString("SELECT DESKTOP_FILE_PATH FROM APPINFO ORDER BY LAUNCH_TIMES");
|
QString cmd = QString("SELECT DESKTOP_FILE_PATH FROM APPINFO ORDER BY LAUNCH_TIMES");
|
||||||
int count = 0;
|
int count = 0;
|
||||||
if (sql.exec(cmd)) {
|
if (sql.exec(cmd)) {
|
||||||
|
@ -502,18 +502,18 @@ bool AppInfoTablePrivate::getLaunchTimesAppList(QStringList &list)
|
||||||
.arg(++count)
|
.arg(++count)
|
||||||
.arg(sql.value(0).toString());
|
.arg(sql.value(0).toString());
|
||||||
if (!sqlque.exec(cmd)) {
|
if (!sqlque.exec(cmd)) {
|
||||||
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database.lastError();
|
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database.lastError();
|
qWarning() << QString("cmd %0 failed!").arg(cmd) << m_database->lastError();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
if (!m_database.commit()) {
|
if (!m_database->commit()) {
|
||||||
qWarning() << "Failed to commit !" << cmd;
|
qWarning() << "Failed to commit !" << cmd;
|
||||||
m_database.rollback();
|
m_database->rollback();
|
||||||
res = false;
|
res = false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -526,13 +526,19 @@ bool AppInfoTablePrivate::getLaunchTimesAppList(QStringList &list)
|
||||||
AppInfoTablePrivate::~AppInfoTablePrivate()
|
AppInfoTablePrivate::~AppInfoTablePrivate()
|
||||||
{
|
{
|
||||||
this->closeDataBase();
|
this->closeDataBase();
|
||||||
|
if (m_signalTransInterface)
|
||||||
|
delete m_signalTransInterface;
|
||||||
|
m_signalTransInterface = nullptr;
|
||||||
|
if (m_appDBInterface)
|
||||||
|
delete m_appDBInterface;
|
||||||
|
m_appDBInterface = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AppInfoTablePrivate::initDateBaseConnection()
|
bool AppInfoTablePrivate::initDateBaseConnection()
|
||||||
{
|
{
|
||||||
m_database.setDatabaseName(APP_DATABASE_PATH + APP_DATABASE_NAME);
|
m_database->setDatabaseName(APP_DATABASE_PATH + APP_DATABASE_NAME);
|
||||||
if(!m_database.open()) {
|
if(!m_database->open()) {
|
||||||
qWarning() << m_database.lastError();
|
qWarning() << m_database->lastError();
|
||||||
return false;
|
return false;
|
||||||
// QApplication::quit();
|
// QApplication::quit();
|
||||||
}
|
}
|
||||||
|
@ -541,10 +547,10 @@ bool AppInfoTablePrivate::initDateBaseConnection()
|
||||||
|
|
||||||
bool AppInfoTablePrivate::openDataBase()
|
bool AppInfoTablePrivate::openDataBase()
|
||||||
{
|
{
|
||||||
m_database = QSqlDatabase::addDatabase("QSQLITE", m_ConnectionName);
|
*m_database = QSqlDatabase::addDatabase("QSQLITE", m_ConnectionName);
|
||||||
m_database.setDatabaseName(APP_DATABASE_PATH + APP_DATABASE_NAME);
|
m_database->setDatabaseName(APP_DATABASE_PATH + APP_DATABASE_NAME);
|
||||||
|
|
||||||
if(!m_database.open()) {
|
if(!m_database->open()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -552,8 +558,9 @@ bool AppInfoTablePrivate::openDataBase()
|
||||||
|
|
||||||
void AppInfoTablePrivate::closeDataBase()
|
void AppInfoTablePrivate::closeDataBase()
|
||||||
{
|
{
|
||||||
m_database.close();
|
m_database->close();
|
||||||
// delete m_database;
|
delete m_database;
|
||||||
|
m_database = nullptr;
|
||||||
QSqlDatabase::removeDatabase(m_ConnectionName);
|
QSqlDatabase::removeDatabase(m_ConnectionName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -333,16 +333,14 @@ bool AppSearchPlugin::installAppAction(const QString & name) {
|
||||||
"/com/kylin/softwarecenter",
|
"/com/kylin/softwarecenter",
|
||||||
"com.kylin.utiliface",
|
"com.kylin.utiliface",
|
||||||
QDBusConnection::sessionBus());
|
QDBusConnection::sessionBus());
|
||||||
|
bool res(false);
|
||||||
if(interface->isValid()) {
|
if(interface->isValid()) {
|
||||||
//软件商店已打开,直接跳转
|
//软件商店已打开,直接跳转
|
||||||
interface->call("show_search_result", name);
|
interface->call("show_search_result", name);
|
||||||
bool reply = QDBusReply<bool>(interface->call(QString("show_search_result"), name));
|
res = QDBusReply<bool>(interface->call(QString("show_search_result"), name));
|
||||||
return reply;
|
|
||||||
} else {
|
} else {
|
||||||
//软件商店未打开,打开软件商店下载此软件
|
//软件商店未打开,打开软件商店下载此软件
|
||||||
qDebug() << "Softwarecenter has not been launched, now launch it." << name;
|
qDebug() << "Softwarecenter has not been launched, now launch it." << name;
|
||||||
bool res(false);
|
|
||||||
QDBusInterface * appLaunchInterface = new QDBusInterface("com.kylin.AppManager",
|
QDBusInterface * appLaunchInterface = new QDBusInterface("com.kylin.AppManager",
|
||||||
"/com/kylin/AppManager",
|
"/com/kylin/AppManager",
|
||||||
"com.kylin.AppManager",
|
"com.kylin.AppManager",
|
||||||
|
@ -363,12 +361,17 @@ bool AppSearchPlugin::installAppAction(const QString & name) {
|
||||||
if(appLaunchInterface) {
|
if(appLaunchInterface) {
|
||||||
delete appLaunchInterface;
|
delete appLaunchInterface;
|
||||||
}
|
}
|
||||||
appLaunchInterface = NULL;
|
appLaunchInterface = nullptr;
|
||||||
if (res)
|
if (!res) {
|
||||||
return true;
|
QProcess process;
|
||||||
QProcess process;
|
res = process.startDetached(QString("kylin-software-center -find %1").arg(name));
|
||||||
return process.startDetached(QString("kylin-software-center -find %1").arg(name));
|
}
|
||||||
}
|
}
|
||||||
|
if(interface) {
|
||||||
|
delete interface;
|
||||||
|
}
|
||||||
|
interface = nullptr;
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
//AppSearch::AppSearch(DataQueue<SearchPluginIface::ResultInfo> *searchResult, DataQueue<ResultItem>* appSearchResults, UkuiSearchTask *appSearchTask, QString keyword, size_t uniqueSymbol)
|
//AppSearch::AppSearch(DataQueue<SearchPluginIface::ResultInfo> *searchResult, DataQueue<ResultItem>* appSearchResults, UkuiSearchTask *appSearchTask, QString keyword, size_t uniqueSymbol)
|
||||||
|
|
|
@ -25,6 +25,13 @@ DirWatcher::DirWatcher(QObject *parent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DirWatcher::~DirWatcher()
|
||||||
|
{
|
||||||
|
if (m_dbusInterface)
|
||||||
|
delete m_dbusInterface;
|
||||||
|
m_dbusInterface = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
DirWatcher *DirWatcher::getDirWatcher()
|
DirWatcher *DirWatcher::getDirWatcher()
|
||||||
{
|
{
|
||||||
std::call_once(flag, [ & ] {
|
std::call_once(flag, [ & ] {
|
||||||
|
|
|
@ -31,7 +31,7 @@ Q_SIGNALS:
|
||||||
void removeIndexItem(const QString&);
|
void removeIndexItem(const QString&);
|
||||||
private:
|
private:
|
||||||
DirWatcher(QObject *parent = nullptr);
|
DirWatcher(QObject *parent = nullptr);
|
||||||
~DirWatcher() = default;
|
~DirWatcher();
|
||||||
|
|
||||||
QDBusInterface *m_dbusInterface = nullptr;
|
QDBusInterface *m_dbusInterface = nullptr;
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,8 @@ UkuiSearchQDBus::UkuiSearchQDBus() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
UkuiSearchQDBus::~UkuiSearchQDBus() {
|
UkuiSearchQDBus::~UkuiSearchQDBus() {
|
||||||
delete this->tmpSystemQDBusInterface;
|
if (this->tmpSystemQDBusInterface)
|
||||||
|
delete this->tmpSystemQDBusInterface;
|
||||||
this->tmpSystemQDBusInterface = nullptr;
|
this->tmpSystemQDBusInterface = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,9 @@ void AppSearchWorker::run()
|
||||||
|
|
||||||
AppSearchWorker::~AppSearchWorker()
|
AppSearchWorker::~AppSearchWorker()
|
||||||
{
|
{
|
||||||
|
if (m_interFace)
|
||||||
|
delete m_interFace;
|
||||||
|
m_interFace = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppSearchWorker::sendErrorMsg(const QString &msg)
|
void AppSearchWorker::sendErrorMsg(const QString &msg)
|
||||||
|
|
|
@ -197,6 +197,8 @@ bool FileSearchWorker::directSearch()
|
||||||
|
|
||||||
while (!searchPathQueue.empty()) {
|
while (!searchPathQueue.empty()) {
|
||||||
dir.setPath(searchPathQueue.dequeue());
|
dir.setPath(searchPathQueue.dequeue());
|
||||||
|
if (!dir.exists())
|
||||||
|
continue;
|
||||||
infoList = dir.entryInfoList();
|
infoList = dir.entryInfoList();
|
||||||
|
|
||||||
for (const auto &fileInfo : infoList) {
|
for (const auto &fileInfo : infoList) {
|
||||||
|
|
|
@ -42,6 +42,7 @@ DirWatcher::~DirWatcher()
|
||||||
if(m_qSettings){
|
if(m_qSettings){
|
||||||
delete m_qSettings;
|
delete m_qSettings;
|
||||||
}
|
}
|
||||||
|
m_qSettings = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
DirWatcher *DirWatcher::getDirWatcher()
|
DirWatcher *DirWatcher::getDirWatcher()
|
||||||
|
|
Loading…
Reference in New Issue