forked from blue/squawk
first thought about forms, discovering contact pep support
This commit is contained in:
parent
c50cd1140e
commit
7b2b7ee5d5
11 changed files with 230 additions and 9 deletions
|
@ -22,4 +22,8 @@ target_sources(squawk PRIVATE
|
|||
clientinfo.cpp
|
||||
identity.h
|
||||
identity.cpp
|
||||
form.h
|
||||
form.cpp
|
||||
field.h
|
||||
field.cpp
|
||||
)
|
||||
|
|
|
@ -117,5 +117,12 @@ Q_ENUM_NS(AccountPassword)
|
|||
static const AccountPassword AccountPasswordHighest = AccountPassword::kwallet;
|
||||
static const AccountPassword AccountPasswordLowest = AccountPassword::plain;
|
||||
|
||||
enum class Support {
|
||||
unknown,
|
||||
supported,
|
||||
unsupported
|
||||
};
|
||||
Q_ENUM_NS(Support)
|
||||
|
||||
}
|
||||
#endif // SHARED_ENUMS_H
|
||||
|
|
28
shared/field.cpp
Normal file
28
shared/field.cpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
// Squawk messenger.
|
||||
// Copyright (C) 2019 Yury Gubich <blue@macaw.me>
|
||||
//
|
||||
// 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 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "field.h"
|
||||
|
||||
Shared::Field::Field(Shared::Field::Type fieldTtype):
|
||||
type(fieldTtype),
|
||||
key(),
|
||||
label(),
|
||||
description(),
|
||||
required(false),
|
||||
options(),
|
||||
value()
|
||||
{
|
||||
}
|
61
shared/field.h
Normal file
61
shared/field.h
Normal file
|
@ -0,0 +1,61 @@
|
|||
// Squawk messenger.
|
||||
// Copyright (C) 2019 Yury Gubich <blue@macaw.me>
|
||||
//
|
||||
// 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 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef SHARED_FIELD_H
|
||||
#define SHARED_FIELD_H
|
||||
|
||||
#include <list>
|
||||
|
||||
#include <QString>
|
||||
#include <QVariant>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
/**
|
||||
* @todo write docs
|
||||
*/
|
||||
class Field
|
||||
{
|
||||
public:
|
||||
enum class Type {
|
||||
boolean,
|
||||
fixed,
|
||||
hidden,
|
||||
jidMultiple,
|
||||
jidSingle,
|
||||
listMultiple,
|
||||
listSingle,
|
||||
textMultiple,
|
||||
textPrivate,
|
||||
textSingle
|
||||
};
|
||||
|
||||
Field(Type fieldType);
|
||||
|
||||
public:
|
||||
const Type type;
|
||||
QString key;
|
||||
QString label;
|
||||
QString description;
|
||||
bool required;
|
||||
std::list<std::pair<QString, QString>> options;
|
||||
QVariant value;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // SHARED_FIELD_H
|
23
shared/form.cpp
Normal file
23
shared/form.cpp
Normal file
|
@ -0,0 +1,23 @@
|
|||
// Squawk messenger.
|
||||
// Copyright (C) 2019 Yury Gubich <blue@macaw.me>
|
||||
//
|
||||
// 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 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "form.h"
|
||||
|
||||
Shared::Form::Form(Shared::Form::Type formType):
|
||||
type(formType),
|
||||
title(),
|
||||
instructions(),
|
||||
fields() {}
|
48
shared/form.h
Normal file
48
shared/form.h
Normal file
|
@ -0,0 +1,48 @@
|
|||
// Squawk messenger.
|
||||
// Copyright (C) 2019 Yury Gubich <blue@macaw.me>
|
||||
//
|
||||
// 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 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#ifndef SHARED_FORM_H
|
||||
#define SHARED_FORM_H
|
||||
|
||||
#include <list>
|
||||
|
||||
#include <shared/field.h>
|
||||
|
||||
namespace Shared {
|
||||
|
||||
class Form
|
||||
{
|
||||
public:
|
||||
enum class Type {
|
||||
none,
|
||||
form,
|
||||
submit,
|
||||
cancel,
|
||||
result
|
||||
};
|
||||
|
||||
Form(Type formType);
|
||||
|
||||
public:
|
||||
const Type type;
|
||||
QString title;
|
||||
QString instructions;
|
||||
std::list<Field> fields;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // SHARED_FORM_H
|
Loading…
Add table
Add a link
Reference in a new issue