source: tspsg/src/globals.cpp @ 2940c14782

appveyorimgbotreadme
Last change on this file since 2940c14782 was 2940c14782, checked in by Oleksii Serdiuk, 11 years ago

Relicensed TSP Solver and Generator under GPLv2 license.

Due to potential conflicts between GPLv3 and app stores.

  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2 *  TSPSG: TSP Solver and Generator
3 *  Copyright (C) 2007-2013 Oleksii Serdiuk <contacts[at]oleksii[dot]name>
4 *
5 *  $Id: $Format:%h %ai %an$ $
6 *  $URL: http://tspsg.info/ $
7 *
8 *  This file is part of TSPSG.
9 *
10 *  TSPSG is free software: you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License as published by
12 *  the Free Software Foundation, either version 2 of the License, or
13 *  (at your option) any later version.
14 *
15 *  TSPSG is distributed in the hope that it will be useful,
16 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 *  GNU General Public License for more details.
19 *
20 *  You should have received a copy of the GNU General Public License
21 *  along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
22 */
23
24#include "globals.h"
25
26#include <QFile>
27#include <QObject>
28#include <QSettings>
29#include <QWidget>
30
31#ifdef Q_OS_WINCE_WM
32#   include <shellapi.h>
33#endif
34
35bool hasUpdater()
36{
37#ifdef Q_OS_WIN32
38    return QFile::exists("updater/Update.exe");
39#else // Q_OS_WIN32
40    return false;
41#endif // Q_OS_WIN32
42}
43
44QSettings *initSettings(QObject *parent)
45{
46#ifdef Q_OS_WINCE_WM
47    /*!
48     * \hack HACK: On Windows Mobile the way Qt tries to get path for saving
49     *  settings doesn't always work. This workaround tries to fix it.
50     */
51    if (!QDesktopServices::storageLocation(QDesktopServices::DataLocation).isEmpty()) {
52#endif // Q_OS_WINCE_WM
53    return new QSettings(QSettings::IniFormat, QSettings::UserScope, "TSPSG", "tspsg", parent);
54#ifdef Q_OS_WINCE_WM
55    } else {
56        wchar_t path[MAX_PATH];
57        SHGetSpecialFolderPath(0, path, 0x001a, FALSE);
58        QString fileName = QString::fromWCharArray(path);
59        fileName.append("\\TSPSG\\tspsg.ini");
60        return new QSettings(fileName, QSettings::IniFormat, parent);
61    }
62#endif // Q_OS_WINCE_WM
63}
64
65#ifndef HANDHELD
66void toggleStyle(QWidget *widget, bool enable)
67{
68    if (enable) {
69        widget->setStyleSheet(QString("%1 {background-color: %2; border-color: %3; border-width: 1px; border-style: solid; border-radius: 3px;}").arg(widget->metaObject()->className(), widget->palette().window().color().name(), widget->palette().shadow().color().name()));
70    } else {
71        widget->setStyleSheet(QString());
72    }
73}
74#endif // HANDHELD
Note: See TracBrowser for help on using the repository browser.