summaryrefslogtreecommitdiffstats
path: root/src/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cpp')
-rw-r--r--src/main.cpp33
1 files changed, 14 insertions, 19 deletions
diff --git a/src/main.cpp b/src/main.cpp
index 54487d8..fbb3f67 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -27,8 +27,6 @@ int main(int argc, char *argv[]) {
translator.load(":" + QLocale::system().name());
a.installTranslator(&translator);
- std::string version = "0.0.13";
-
CommandLineOptions cmdOptions(argc, argv);
std::string usage(a.translate(
@@ -54,7 +52,7 @@ int main(int argc, char *argv[]) {
}
if (cmdOptions.contains("version")) {
- std::cout << version;
+ std::cout << "vmchooser " << VMCHOOSER_VERSION << std::endl;
return EXIT_SUCCESS;
}
@@ -96,11 +94,6 @@ int main(int argc, char *argv[]) {
// user vmchooser.conf or
// globel vmchooser.conf
QString confFile;
- QString userConfFile(QDir::homePath() + "/" +
- VMCHOOSER_USER_PATH + "/" +
- VMCHOOSER_CONF_FILE);
- QString globalConfFile(QString(VMCHOOSER_ETC_BASE_PATH) + "/" +
- VMCHOOSER_CONF_FILE);
if (cmdOptions.contains("config")) {
confFile = cmdOptions.value("config");
} else if (QFileInfo(userConfFile).exists()) {
@@ -120,23 +113,17 @@ int main(int argc, char *argv[]) {
defaultSession = readSessionName();
}
- QString vSessionXmlPath;
if (cmdOptions.contains("path")) {
- vSessionXmlPath = cmdOptions.value("path");
+ vSessionPath = cmdOptions.value("path");
} else if (settings.contains("path")) {
- vSessionXmlPath = settings.value("path").toString();
- } else {
- vSessionXmlPath = VMCHOOSER_VMPATH;
- }
+ vSessionPath = settings.value("path").toString();
+ } // else keep default path
- QString xSessionPath;
if (cmdOptions.contains("xpath")) {
xSessionPath = cmdOptions.value("xpath");
} else if (settings.contains("xpath")) {
xSessionPath = settings.value("xpath").toString();
- } else {
- xSessionPath = VMCHOOSER_X_SESSIONS_PATH;
- }
+ } // else keep default path
QString size;
if (cmdOptions.contains("size")) {
@@ -164,7 +151,7 @@ int main(int argc, char *argv[]) {
/* read session files */
QList<Session*> xsessions(XSession::readSessions(xSessionPath));
- QList<Session*> vsessions(VSession::readXmlDir(vSessionXmlPath));
+ QList<Session*> vsessions(VSession::readXmlDir(vSessionPath));
Dialog w;
w.resize(width, height);
@@ -180,6 +167,14 @@ int main(int argc, char *argv[]) {
w.addItems(xsessions, a.translate("Dialog", "X Sessions"));
}
if (vsessions.size()) {
+ if (!(QFile::permissions(runVmScript) & QFile::ExeUser)) {
+ std::cerr << a.translate(
+ "Console",
+ "vmchooser: external script %1 is not executable")
+ .arg(runVmScript).toUtf8().data()
+ << std::endl;
+ return EXIT_FAILURE;
+ }
qSort(vsessions.begin(), vsessions.end(), myLessThan);
w.addItems(vsessions, a.translate("Dialog", "Virtual Sessions"));
}