source: s10k/Vago/utilvago.cpp

Last change on this file was 1093, checked in by s10k, 7 years ago

Vago 1.4

File size: 4.2 KB
RevLine 
[1047]1#include "utilvago.h"
2
3namespace UtilVago{
4
5void openLogFile(){
6 QDesktopServices::openUrl(QUrl("file:///"+getAppPath()+"/"+GlobalVars::AppLogName));
7}
8
[1093]9void showAndLogWarningPopUp(const QString &message){
10 LOG_WARNING << message;
[1054]11
12 QMessageBox msgBox;
13 msgBox.setIcon(QMessageBox::Warning);
14 msgBox.setText(message);
15 msgBox.exec();
16}
17
18//Same of above but allow open log file (doesn't write in log file!!)
19void showWarningPopUpLogButton(const QString &message){
20 QMessageBox msgBox;
21 msgBox.setIcon(QMessageBox::Warning);
22 msgBox.setText(message);
23 QPushButton *viewb = msgBox.addButton("View log", QMessageBox::ActionRole);
24 msgBox.setStandardButtons(QMessageBox::Close);
25 msgBox.exec();
26 if(msgBox.clickedButton() == (QAbstractButton*)(viewb)){
27 openLogFile();
28 }
29}
30
31//Same of above but also writtes directly to the log file the error
[1093]32void showAndLogWarningPopUpLogButton(const QString &message){
[1054]33
[1093]34 LOG_WARNING << message;
[1054]35
36 QMessageBox msgBox;
37 msgBox.setIcon(QMessageBox::Warning);
38 msgBox.setText(message);
39 QPushButton *viewb = msgBox.addButton("View log", QMessageBox::ActionRole);
40 msgBox.setStandardButtons(QMessageBox::Close);
41 msgBox.exec();
42 if(msgBox.clickedButton() == (QAbstractButton*)(viewb)){
43 openLogFile();
44 }
45}
46
[1093]47void showAndLogErrorPopUp(const QString &message){
[1047]48
[1093]49 LOG_ERROR << message;
[1047]50
51 QMessageBox msgBox;
52 msgBox.setIcon(QMessageBox::Critical);
53 msgBox.setText(message);
54 msgBox.exec();
55}
56
57//Same of above but allow open log file (doesn't write in log file!!)
58void showErrorPopUpLogButton(const QString &message){
59 QMessageBox msgBox;
60 msgBox.setIcon(QMessageBox::Critical);
61 msgBox.setText(message);
62 QPushButton *viewb = msgBox.addButton("View log", QMessageBox::ActionRole);
63 msgBox.setStandardButtons(QMessageBox::Close);
64 msgBox.exec();
65 if(msgBox.clickedButton() == (QAbstractButton*)(viewb)){
66 openLogFile();
67 }
68}
69
70//Same of above but also writtes directly to the log file the error
[1093]71void showAndLogErrorPopUpLogButton(const QString &message){
[1047]72
[1093]73 LOG_ERROR << message;
[1047]74
75 QMessageBox msgBox;
76 msgBox.setIcon(QMessageBox::Critical);
77 msgBox.setText(message);
78 QPushButton *viewb = msgBox.addButton("View log", QMessageBox::ActionRole);
79 msgBox.setStandardButtons(QMessageBox::Close);
80 msgBox.exec();
81 if(msgBox.clickedButton() == (QAbstractButton*)(viewb)){
82 openLogFile();
83 }
84}
85
86/**
87 Gets application directory. In mac os gets the .app directory
88 **/
89QString getOSIndependentAppPath(){
90#ifdef Q_OS_MAC
91 QDir dir = QDir(QCoreApplication::applicationDirPath());
92 if(dir.absolutePath().contains(".app")){ // include bundle, but we don't want it
93 dir.cdUp();
94 dir.cdUp();
95 dir.cdUp();
96 }
97 return dir.absolutePath();
98#else
99 return QDir::currentPath();
100#endif
101}
102
103QString getAppPath(){
104 return getOSIndependentAppPath();
105}
106
[1052]107// Absolute paths
108QString getOniSplitExecutableAbsolutePath(){
109 return getAppPath() + "/" + GlobalVars::ToolsFolder + "/" + GlobalVars::OniSplitString;
110}
[1047]111
[1052]112QString getXmlToolsExecutableAbsolutePath(){
113 return getAppPath() + "/" + GlobalVars::ToolsFolder + "/" + GlobalVars::XmlToolsString;
114}
115
116// Executables (includes mono if necessary)
117QString getOniSplitExecutable(){
118
[1047]119#ifdef Q_OS_MAC
[1093]120 return getMonoExecutablePath() + " " + Util::String::insertQuotes(getOniSplitExecutableAbsolutePath());
[1047]121#else
[1093]122 return Util::String::insertQuotes(getOniSplitExecutableAbsolutePath());
[1047]123#endif
124}
125
[1052]126QString getXmlToolsExecutable(){
[1093]127 return Util::String::insertQuotes(getXmlToolsExecutableAbsolutePath());
[1047]128}
129
130#ifdef Q_OS_MAC
131QString getMonoExecutablePath(){
132
133 // Only way that I found to get mono working in 10.11
134 QString possibleMonoDir = "/usr/local/bin/mono";
135 QFileInfo checkFile(possibleMonoDir);
136
137 if (checkFile.exists() && checkFile.isFile()) {
138 return possibleMonoDir;
139 } else {
140 return "mono";
141 }
142
143}
144#endif
145
[1093]146QString getDateTimeFormatForFilename(const QDateTime &currentDateTime){
147 return currentDateTime.toString("yyyy-MM-dd_hh-mm-ss");
[1047]148}
[1093]149
150}
Note: See TracBrowser for help on using the repository browser.