add: command line options

Change-Id: I26057e7ee43a0421dab919c9eba9358e3d3df8e4
This commit is contained in:
listenerri 2018-06-13 14:21:48 +08:00
parent 2efdc72a0e
commit d78bdfea90
Notes: gerrit 2018-06-14 11:11:23 +08:00
Verified+1: <jenkins@deepin.com>
Code-Review+2: sbwtw <sbw@sbw.so>
Submitted-by: ListenerRi <listenerri@gmail.com>
Submitted-at: Thu, 14 Jun 2018 11:11:23 +0800
Reviewed-on: https://cr.deepin.io/35711
Project: dde/dde-dock
Branch: refs/heads/master
4 changed files with 28 additions and 11 deletions

View File

@ -26,6 +26,7 @@
#include "item/pluginsitem.h"
#include <QDebug>
#include <QGSettings>
DockItemController *DockItemController::INSTANCE = nullptr;
@ -62,6 +63,13 @@ void DockItemController::setDropping(const bool dropping)
m_containerItem->setDropping(dropping);
}
void DockItemController::startLoadPlugins() const
{
QGSettings gsetting("com.deepin.dde.dock", "/com/deepin/dde/dock/");
QTimer::singleShot(gsetting.get("delay-plugins-time").toUInt(), m_pluginsInter, &DockPluginsController::startLoader);
}
void DockItemController::refershItemsIcon()
{
for (auto item : m_itemList)

View File

@ -38,13 +38,14 @@ class DockItemController : public QObject
Q_OBJECT
public:
static DockItemController *instance(QObject *parent);
static DockItemController *instance(QObject *parent = nullptr);
const QList<QPointer<DockItem> > itemList() const;
const QList<PluginsItemInterface *> pluginList() const;
bool appIsOnDock(const QString &appDesktop) const;
bool itemIsInContainer(DockItem * const item) const;
void setDropping(const bool dropping);
void startLoadPlugins() const;
signals:
void itemInserted(const int index, DockItem *item) const;
@ -65,7 +66,7 @@ public slots:
void placeholderItemRemoved(PlaceholderItem *item);
private:
explicit DockItemController(QObject *parent = 0);
explicit DockItemController(QObject *parent = nullptr);
void appItemAdded(const QDBusObjectPath &path, const int index);
void appItemRemoved(const QString &appId);
void appItemRemoved(AppItem *appItem);

View File

@ -26,7 +26,6 @@
#include <QDebug>
#include <QDir>
#include <QGSettings>
#define API_VERSION "1.0"
@ -35,10 +34,6 @@ DockPluginsController::DockPluginsController(DockItemController *itemControllerI
m_itemControllerInter(itemControllerInter)
{
qApp->installEventFilter(this);
QGSettings gsetting("com.deepin.dde.dock", "/com/deepin/dde/dock/");
QTimer::singleShot(gsetting.get("delay-plugins-time").toUInt(), this, &DockPluginsController::startLoader);
}
void DockPluginsController::itemAdded(PluginsItemInterface * const itemInter, const QString &itemKey)

View File

@ -63,10 +63,6 @@ int main(int argc, char *argv[])
{
DApplication::loadDXcbPlugin();
DApplication app(argc, argv);
if (!app.setSingleInstance(QString("dde-dock_%1").arg(getuid()))) {
qDebug() << "set single instance failed!";
return -1;
}
app.setOrganizationName("deepin");
app.setApplicationName("dde-dock");
@ -79,6 +75,19 @@ int main(int argc, char *argv[])
DLogManager::registerConsoleAppender();
DLogManager::registerFileAppender();
QCommandLineOption disablePlugOption(QStringList() << "x" << "disable-plugins", "do not load plugins.");
QCommandLineParser parser;
parser.setApplicationDescription("DDE Dock");
parser.addHelpOption();
parser.addVersionOption();
parser.addOption(disablePlugOption);
parser.process(app);
if (!app.setSingleInstance(QString("dde-dock_%1").arg(getuid()))) {
qDebug() << "set single instance failed!";
return -1;
}
qDebug() << "\n\ndde-dock startup";
RegisterDdeSession();
@ -93,5 +102,9 @@ int main(int argc, char *argv[])
QTimer::singleShot(1, &mw, &MainWindow::launch);
if (!parser.isSet(disablePlugOption)) {
DockItemController::instance()->startLoadPlugins();
}
return app.exec();
}