source: tspsg/src/globals.cpp @ 31694c8b58

appveyorimgbotreadme
Last change on this file since 31694c8b58 was 31694c8b58, checked in by Oleksii Serdiuk, 12 years ago

Fixed wrong placement of tspsg.ini on Windows Mobile.

Also, Main Window stopped showing maximized on Windows Mobile. Made a
workaround for this.

Closes #15 - Try to fix wrong placement of tspsg.ini.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*
2 *  TSPSG: TSP Solver and Generator
3 *  Copyright (C) 2007-2012 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 3 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#ifdef Q_OS_WINCE_WM
27#   include <shellapi.h>
28#endif
29
30QSettings *initSettings(QObject *parent)
31{
32#ifdef Q_OS_WINCE_WM
33    /*!
34     * \hack HACK: On Windows Mobile the way Qt tries to get path for saving
35     *  settings doesn't always work. This workaround tries to fix it.
36     */
37    if (!QDesktopServices::storageLocation(QDesktopServices::DataLocation).isEmpty()) {
38#endif // Q_OS_WINCE_WM
39    return new QSettings(QSettings::IniFormat, QSettings::UserScope, "TSPSG", "tspsg", parent);
40#ifdef Q_OS_WINCE_WM
41    } else {
42        wchar_t path[MAX_PATH];
43        SHGetSpecialFolderPath(0, path, 0x001a, FALSE);
44        QString fileName = QString::fromWCharArray(path);
45        fileName.append("\\TSPSG\\tspsg.ini");
46        return new QSettings(fileName, QSettings::IniFormat, parent);
47    }
48#endif // Q_OS_WINCE_WM
49}
50
51#ifndef HANDHELD
52void toggleStyle(QWidget *widget, bool enable)
53{
54    if (enable) {
55        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()));
56    } else {
57        widget->setStyleSheet(QString());
58    }
59}
60#endif // HANDHELD
Note: See TracBrowser for help on using the repository browser.