File: LayoutSettingsHandler.h

package info (click to toggle)
subcommander 2.0.0~b5p1-2
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 14,880 kB
  • ctags: 9,003
  • sloc: cpp: 63,591; sh: 3,904; xml: 1,984; makefile: 1,166; ansic: 786; ruby: 251; lisp: 24
file content (59 lines) | stat: -rw-r--r-- 2,384 bytes parent folder | download | duplicates (4)
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