File: settingdata.h

package info (click to toggle)
maliit-framework 2.3.0-3.2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 2,488 kB
  • sloc: cpp: 13,098; ansic: 2,506; xml: 299; sh: 34; makefile: 23; sed: 4
file content (69 lines) | stat: -rw-r--r-- 1,956 bytes parent folder | download | duplicates (3)
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
60
61
62
63
64
65
66
67
68
69
/* * This file is part of Maliit framework *
 *
 * Copyright (C) 2012 Mattia Barbon <mattia@develer.com>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License version 2.1 as published by the Free Software Foundation
 * and appearing in the file LICENSE.LGPL included in the packaging
 * of this file.
 */

#ifndef MALIIT_SETTINGDATA_H
#define MALIIT_SETTINGDATA_H

#include <maliit/namespace.h>

#include <QString>
#include <QVariant>
#include <QList>


/*!
 * \brief Single configuration entry for Maliit input method plugin
 *
 * \sa Maliit::SettingsEntry
 */
struct MImPluginSettingsEntry
{
    //! Human-readable description
    QString description;
    //! The attribute extension key attribute for this entry
    QString extension_key;
    //! Entry value type
    Maliit::SettingEntryType type;
    //! Current value for the configuration entry
    QVariant value;
    //! Attributes, including domain values and descriptions
    QVariantMap attributes;
};


/*!
 * \brief Settings for a Maliit input method plugin
 */
struct MImPluginSettingsInfo
{
    //! The language used for human-readable descriptions
    QString description_language;
    //! Internal plugin name; "server" for global configuration entries
    QString plugin_name;
    //! Human-readable plugin description
    QString plugin_description;
    //! Attribute extension id; multiple MImPluginSettingsInfo instances might share the same extension id
    int extension_id;
    //! List of configuration entries for this plugin
    QList<MImPluginSettingsEntry> entries;
};


/*!
 * \brief Validate the value for a plugin setting entry
 */
bool validateSettingValue(Maliit::SettingEntryType type, const QVariantMap attributes, const QVariant &value);

Q_DECLARE_METATYPE(MImPluginSettingsEntry)
Q_DECLARE_METATYPE(MImPluginSettingsInfo)
Q_DECLARE_METATYPE(QList<MImPluginSettingsInfo>)

#endif