keepassxc/src/gui/EditEntryWidget.h

108 lines
3.1 KiB
C
Raw Normal View History

2010-10-06 13:40:50 -04:00
/*
* Copyright (C) 2010 Felix Geyer <debfx@fobos.de>
*
* 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 or (at your option)
* version 3 of the License.
*
* 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 KEEPASSX_EDITENTRYWIDGET_H
#define KEEPASSX_EDITENTRYWIDGET_H
#include <QtCore/QAbstractItemModel>
2010-10-06 13:40:50 -04:00
#include <QtCore/QScopedPointer>
#include "gui/DialogyWidget.h"
2010-10-06 13:40:50 -04:00
class Database;
2010-10-06 13:40:50 -04:00
class Entry;
class EntryAttachments;
class EntryAttachmentsModel;
class EntryAttributes;
class EntryAttributesModel;
class DefaultIconModel;
class CustomIconModel;
class Metadata;
2010-10-06 13:40:50 -04:00
class QStackedLayout;
namespace Ui {
class EditEntryWidget;
class EditEntryWidgetAdvanced;
2010-10-06 13:40:50 -04:00
class EditEntryWidgetMain;
class EditEntryWidgetNotes;
class EditEntryWidgetIcons;
2010-10-06 13:40:50 -04:00
}
class EditEntryWidget : public DialogyWidget
2010-10-06 13:40:50 -04:00
{
Q_OBJECT
public:
explicit EditEntryWidget(QWidget* parent = 0);
~EditEntryWidget();
void loadEntry(Entry* entry, bool create, const QString& groupName, Database* database);
2010-10-06 13:40:50 -04:00
2012-05-14 13:10:42 -04:00
static const QColor CorrectSoFarColor;
static const QColor ErrorColor;
2010-10-06 13:40:50 -04:00
Q_SIGNALS:
void editFinished(bool accepted);
2010-10-06 13:40:50 -04:00
private Q_SLOTS:
void saveEntry();
void cancel();
void togglePassword(bool checked);
void setPasswordCheckColors();
void insertAttribute();
void editCurrentAttribute();
void removeCurrentAttribute();
void updateCurrentAttribute();
void insertAttachment();
void saveCurrentAttachment();
void removeCurrentAttachment();
void addCustomIcon();
void removeCustomIcon();
void updateWidgetsDefaultIcons(bool checked);
void updateWidgetsCustomIcons(bool checked);
void updateRadioButtonDefaultIcons();
void updateRadioButtonCustomIcons();
2010-10-06 13:40:50 -04:00
private:
bool passwordsEqual();
2012-04-23 13:44:43 -04:00
2010-10-06 13:40:50 -04:00
Entry* m_entry;
Database* m_database;
2010-10-06 13:40:50 -04:00
bool m_create;
2012-04-23 13:44:43 -04:00
const QScopedPointer<Ui::EditEntryWidget> m_ui;
const QScopedPointer<Ui::EditEntryWidgetMain> m_mainUi;
const QScopedPointer<Ui::EditEntryWidgetNotes> m_notesUi;
const QScopedPointer<Ui::EditEntryWidgetAdvanced> m_advancedUi;
const QScopedPointer<Ui::EditEntryWidgetIcons> m_iconsUi;
2012-04-23 13:44:43 -04:00
QWidget* const m_mainWidget;
QWidget* const m_notesWidget;
QWidget* const m_advancedWidget;
QWidget* const m_iconsWidget;
EntryAttachmentsModel* m_attachmentsModel;
EntryAttributesModel* m_attributesModel;
EntryAttachments* m_entryAttachments;
EntryAttributes* m_entryAttributes;
QPersistentModelIndex m_currentAttribute;
DefaultIconModel* m_defaultIconModel;
CustomIconModel* m_customIconModel;
2010-10-06 13:40:50 -04:00
Q_DISABLE_COPY(EditEntryWidget)
};
#endif // KEEPASSX_EDITENTRYWIDGET_H