File: formatting.h

package info (click to toggle)
portabase 2.0%2Bgit20110117-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 6,692 kB
  • sloc: cpp: 32,047; sh: 2,675; ansic: 2,320; makefile: 343; xml: 20; python: 16; asm: 10
file content (59 lines) | stat: -rw-r--r-- 2,168 bytes parent folder | download | duplicates (2)
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
/*
 * formatting.h
 *
 * (c) 2010-2011 by Jeremy Bowman <jmbowman@alum.mit.edu>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

/** @file formatting.h
 * Header file for Formatting
 */

#ifndef FORMATTING_H
#define FORMATTING_H

#include <QDate>
#include <QLocale>
#include <QRegExp>

class QSettings;

/**
 * Collection of utility methods for formatting data types for display (or
 * parsing them from entered strings).  The behavior of some of these is
 * dependent on preference settings.
 */
class Formatting
{
public:
    static void updatePreferences(QSettings *settings);
    static QString fromLocalDouble(const QString &value);
    static QString toLocalDouble(const QString &value);
    static double parseDouble(const QString &value, bool *ok=0);
    static QString formatDouble(double value, int decimals=-1);
    static QString toLocalInt(const QString &value);

    static bool isNoneDate(const QDate &date);
    static QString dateToString(int date);
    static QString dateToString(const QDate &date);
    static QString timeToString(int time);
    static QString dateTimeToString(const QDateTime &dateTime);
    static QString parseTimeString(const QString &value, bool *ok);

private:
    static QLocale cLocale; /**< The "C" locale used internally */
    static QLocale systemLocale; /**< The user's selected locale */
    static QChar localDecimalPoint; /**< Decimal point character in the user's locale */
    static QChar localExponential; /**< Exponential character in the user's locale */
    static QChar localPercent; /**< Percentage character in the user's locale */
    static QRegExp cRegExp; /**< Decimal number pattern in the "C" locale */
    static QRegExp localRegExp; /**< Decimal number pattern in the user's locale */
    static QString dateFormat; /**< The short format to use for displaying date values */
    static QString timeFormat; /**< The format to use for displaying time values */
};

#endif // FORMATTING_H