Doomseeker
Wadseeker
Download
Tracker
Git
Docs
Main Page
Plugin API
Related Pages
Modules
Classes
Files
File List
File Members
src
core
urlopener.cpp
1
//------------------------------------------------------------------------------
2
// urlopener.cpp
3
//------------------------------------------------------------------------------
4
//
5
// This library is free software; you can redistribute it and/or
6
// modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation; either
8
// version 2.1 of the License, or (at your option) any later version.
9
//
10
// This library 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 GNU
13
// Lesser General Public License for more details.
14
//
15
// You should have received a copy of the GNU Lesser General Public
16
// License along with this library; 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 =
nullptr
;
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 ==
nullptr
)
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-2024 The Doomseeker Team