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
|
/* ====================================================================
* Copyright (c) 2007-2008 Martin Hauner
* http://subcommander.tigris.org
*
* Subcommander is licensed as described in the file doc/COPYING, which
* you should have received as part of this distribution.
* ====================================================================
*/
#ifndef _SC_LAYOUTSETTINGSHANDLER_H
#define _SC_LAYOUTSETTINGSHANDLER_H
// sc
#include "LayoutSettings.h"
class ConfigData;
// qt
#include <QtCore/QRect>
#include <QtCore/QString>
class Q3Header;
/**
* @c LayoutSettings support. This class contains methods that handle
* the details of reading and storing the layout settings.
*/
class LayoutSettingsHandler
{
public:
/** Get an @c int value for @a key from @a cfg. */
static int getValue( ConfigData* cfg, const QString& key, int def );
/** Store @a value under @a key. */
static void setValue( ConfigData* cfg, const QString& key, int value );
/** Get the @c QSize for @a key from @a cfg. Return @a def for an unknown @a key. */
static QSize getSize( ConfigData* cfg, const QString& key, const QSize& def );
/** Store @a size under @a key in @a cfg. */
static void setSize( ConfigData* cfg, const QString& key, const QSize& size );
/** Get the @c QRect for @a key from @a cfg. Returns @a def for an unknown @a key. */
static QRect getRect( ConfigData* cfg, const QString& key, const QRect& def );
/** Store @a rect under @a key in @a cfg. */
static void setRect( ConfigData* cfg, const QString& key, const QRect& rect );
/** Get a @c QByteArray for @a key form @a cfg. Returns @a def for an unknown @a key. */
static QByteArray getByteArray( ConfigData* cfg, const QString& key, const QByteArray& def );
/** Store @a rect under @a key in @a cfg. */
static void setByteArray( ConfigData* cfg, const QString& key, const QByteArray& bytearray );
/** Get @c Q3Header layout (column size and position) for key @c from @a cfg. Does
* nothing for an unknown @a key */
static void getHeaderColumns( ConfigData* cfg, const QString& key, Q3Header* header );
/** Store @c Q3Header layout (column size and position) under @a key in @a cfg. */
static void setHeaderColumns( ConfigData* cfg, const QString& key, const Q3Header* header );
private:
LayoutSettingsHandler();
};
#endif // _SC_LAYOUTSETTINGSHANDLER_H
|