forked from SudaNix/Al-Moazen
/
services.cpp
executable file
·89 lines (65 loc) · 1.7 KB
/
services.cpp
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <QtGui>
#include <QApplication>
#include "services.h"
Services::Services()
{
dir.setPath(QApplication::applicationDirPath()); // application folder
// if the OS is Windows or Mac , we should change the current dir to parent one.
#if defined(Q_OS_WIN32)
if (dir.dirName().toLower() == "debug" || dir.dirName().toLower() == "release")
{
dir.cdUp();
}
#elif defined(Q_OS_MAC)
if (dir.dirName() == "MacOS")
{
dir.cdUp();
dir.cdUp();
dir.cdUp();
}
#endif
QDir::setCurrent(dir.absolutePath());
//create lock file
QDir currentDir = dir;
currentDir.cd("configures");
lockFile.setFileName(currentDir.filePath("run.dat"));
}
void Services::loadStyleSheet(const QString& sheetName)
{
QFile file(":/qss/" + sheetName.toLower() + ".qss");
file.open(QFile::ReadOnly);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet(styleSheet);
file.close();
}
bool Services::isSignle()
{
if( lockFile.exists() )
{
QMessageBox::critical(0,QObject::trUtf8("خطأ في التشغيل"),QObject::trUtf8("يوجد نسخة من البرنامج تعمل حاليا ، لا تستطيع تشغيل اكثر من نسخة واحدة"),QMessageBox::Close);
return false;
}
else
{
lockFile.open(QFile::WriteOnly|QFile::Truncate);
QTextStream out(&lockFile);
out << "running" << endl;
lockFile.close();
return true;
}
}
void Services::deleteLockFile()
{
QDir currentDir = dir;
currentDir.cd("configures");
currentDir.remove("run.dat");
}
QStringList Services::soundFiles()
{
QDir currentDir = dir;
currentDir.cd("sounds");
QStringList filter;
filter << "*.mp3";
currentDir.setNameFilters(filter);
return currentDir.entryList(QDir::Files,QDir::Name);
}