| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- #include "ArkApplication.h"
- #include <QDebug>
- #include <QStringList>
- #include <QTranslator>
- #include <QTimer>
- #include <time.h>
- class ArkApplicationPrivate
- {
- Q_DISABLE_COPY(ArkApplicationPrivate)
- public:
- explicit ArkApplicationPrivate(int &argc, char **argv, ArkApplication* parent);
- ~ArkApplicationPrivate();
- QStringList m_Arguments;
- void initializeTranslator();
- QTranslator* m_Translator;
- QTimer* m_Timer;
- private:
- ArkApplication* m_Parent;
- };
- ArkApplication::ArkApplication(int &argc, char **argv)
- : QApplication(argc, argv)
- , m_Private(new ArkApplicationPrivate(argc, argv, this))
- {
- }
- ArkApplication::~ArkApplication()
- {
- }
- bool ArkApplication::installTranslatorPath(const QString &path)
- {
- bool ret(false);
- if (NULL != m_Private->m_Translator) {
- ret = m_Private->m_Translator->load(path);
- if (ret) {
- installTranslator(m_Private->m_Translator);
- }
- }
- return ret;
- }
- void ArkApplication::arkAppRemoveTranslator()
- {
- removeTranslator(m_Private->m_Translator);
- }
- int ArkApplication::size() const
- {
- return m_Private->m_Arguments.size();
- }
- QStringList ArkApplication::arguments() const
- {
- return m_Private->m_Arguments;
- }
- void ArkApplication::startTimer(const int second)
- {
- if (NULL == m_Private->m_Timer) {
- m_Private->m_Timer = new QTimer(this);
- m_Private->m_Timer->setSingleShot(false);
- m_Private->m_Timer->start(second * 1000);
- Qt::ConnectionType type = static_cast<Qt::ConnectionType>(Qt::UniqueConnection | Qt::AutoConnection);
- QObject::connect(m_Private->m_Timer, SIGNAL(timeout()),
- this, SLOT(onTimeout()),
- type);
- }
- }
- void ArkApplication::onTimeout()
- {
- emit currentDateTime(QDateTime::currentDateTime());
- }
- void ArkApplication::resetTimer(const int second)
- {
- if(NULL != m_Private->m_Timer)
- {
- m_Private->m_Timer->stop();
- m_Private->m_Timer->setSingleShot(false);
- m_Private->m_Timer->start(second * 1000);
- }
- }
- void ArkApplication::setCurrentTime(const QDateTime dateTime)
- {
- emit currentDateTime(dateTime);
- }
- ArkApplicationPrivate::ArkApplicationPrivate(int &argc, char **argv, ArkApplication* parent)
- : m_Parent(parent)
- {
- m_Translator = NULL;
- m_Timer = NULL;
- for (int i = 0; i < argc; ++i) {
- m_Arguments << QString(argv[i]);
- }
- initializeTranslator();
- }
- ArkApplicationPrivate::~ArkApplicationPrivate()
- {
- }
- void ArkApplicationPrivate::initializeTranslator()
- {
- if (NULL == m_Translator) {
- m_Translator = new QTranslator(m_Parent);
- }
- }
|