blob: 76caf0f9526ab683011d35df098ea69fc5908b53 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
#include "moshortcut.h"
MOShortcut::MOShortcut(const QString& link)
: m_valid(link.startsWith("moshortcut://")), m_hasInstance(false),
m_hasExecutable(false)
{
if (m_valid) {
int start = (int)strlen("moshortcut://");
int sep = link.indexOf(':', start);
if (sep >= 0) {
m_hasInstance = true;
m_instance = link.mid(start, sep - start);
m_executable = link.mid(sep + 1);
} else
m_executable = link.mid(start);
if (!(m_executable == ""))
m_hasExecutable = true;
}
}
bool MOShortcut::isValid() const
{
return m_valid;
}
bool MOShortcut::hasInstance() const
{
return m_hasInstance;
}
bool MOShortcut::hasExecutable() const
{
return m_hasExecutable;
}
QString MOShortcut::instanceDisplayName() const
{
return (m_instance == "" ? QObject::tr("Portable") : m_instance);
}
const QString& MOShortcut::instanceName() const
{
return m_instance;
}
const QString& MOShortcut::executableName() const
{
return m_executable;
}
bool MOShortcut::isForInstance(const Instance& i) const
{
if (!m_hasInstance) {
// no instance name was specified, so the current one is fine
return true;
}
if (m_instance == "") {
// empty instance name means portable
return i.isPortable();
} else {
return (i.displayName() == m_instance);
}
}
QString MOShortcut::toString() const
{
if (m_hasInstance) {
return "moshortcut://" + m_instance + ":" + m_executable;
} else {
return "moshortcut://" + m_executable;
}
}
|