diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2017-10-21 13:50:30 +0000 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2017-11-06 12:05:31 +0100 |
commit | 9335945c7cb215f387ed1444e28533fac437c6e8 (patch) | |
tree | d4bdbf17d4272f9d4ee32d57275883f79ad200b8 /vcl/unx/kf5/Kf5Timer.cxx | |
parent | f69be03d72fbaa535adc8b06475d2806283b79ab (diff) |
KF5 initial VCL plugin
Something that compiles, basically just interface stubs.
All used Svp classes don't use any cairo.
Change-Id: I9a8858c930989438cc2a3f3346c01a7abc579d62
Diffstat (limited to 'vcl/unx/kf5/Kf5Timer.cxx')
-rw-r--r-- | vcl/unx/kf5/Kf5Timer.cxx | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/vcl/unx/kf5/Kf5Timer.cxx b/vcl/unx/kf5/Kf5Timer.cxx new file mode 100644 index 000000000000..4db725ec5ac3 --- /dev/null +++ b/vcl/unx/kf5/Kf5Timer.cxx @@ -0,0 +1,65 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include "Kf5Timer.hxx" +#include <Kf5Timer.moc> + +#include <QtWidgets/QApplication> +#include <QtCore/QThread> + +Kf5Timer::Kf5Timer() +{ + m_aTimer.setSingleShot( true ); + // run the timer itself in the main / creator thread + connect( &m_aTimer, SIGNAL( timeout() ), + this, SLOT( timeoutActivated() ), Qt::QueuedConnection ); + // QTimer::start() can be called only in its creator thread + connect( this, SIGNAL( startTimerSignal() ), + this, SLOT( startTimer() ), Qt::QueuedConnection ); +} + +Kf5Timer::~Kf5Timer() +{ +} + +void Kf5Timer::timeoutActivated() +{ + CallCallback(); +} + +void Kf5Timer::startTimer() +{ + m_aTimer.start(); +} + +void Kf5Timer::Start( sal_uIntPtr nMS ) +{ + m_aTimer.setInterval( nMS ); + if( qApp->thread() == QThread::currentThread() ) + startTimer(); + else + Q_EMIT startTimerSignal(); +} + +void Kf5Timer::Stop() +{ + m_aTimer.stop(); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |