Doomseeker
Wadseeker
Download
Tracker
Git
Docs
Main Page
Plugin API
Modules
Classes
Files
File List
src
core
urlopener.cpp
1
//------------------------------------------------------------------------------
2
// urlopener.cpp
3
//------------------------------------------------------------------------------
4
//
5
// This program is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU General Public License
7
// as published by the Free Software Foundation; either version 2
8
// of the License, or (at your option) any later version.
9
//
10
// This program is distributed in the hope that it will be useful,
11
// but WITHOUT ANY WARRANTY; without even the implied warranty of
12
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
18
// 02110-1301, USA.
19
//
20
//------------------------------------------------------------------------------
21
// Copyright (C) 2014 "Zalewa" <zalewapl@gmail.com>
22
//------------------------------------------------------------------------------
23
#include "urlopener.h"
24
25
#include <QDesktopServices>
26
#include <QQueue>
27
#include <QTimer>
28
29
DClass<UrlOpener>
30
{
31
public
:
32
QQueue<QUrl> queue;
33
};
34
35
DPointered(
UrlOpener
)
36
37
UrlOpener
*
UrlOpener
::inst = NULL;
38
39
UrlOpener
::
UrlOpener
()
40
{
41
}
42
43
UrlOpener::~UrlOpener()
44
{
45
}
46
47
void
UrlOpener::doOpen()
48
{
49
if
(!d->queue.isEmpty())
50
{
51
QDesktopServices::openUrl(d->queue.dequeue());
52
}
53
}
54
55
UrlOpener
*UrlOpener::instance()
56
{
57
if
(inst == NULL)
58
{
59
inst =
new
UrlOpener
();
60
}
61
return
inst;
62
}
63
64
void
UrlOpener::open(
const
QUrl &url)
65
{
66
d->queue.enqueue(url);
67
QTimer::singleShot(0,
this
, SLOT(doOpen()));
68
}
UrlOpener
Definition:
urlopener.h:31
Doomseeker © 2009-2023 The Doomseeker Team