mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-08-09 06:52:50 -04:00
layout update
This commit is contained in:
parent
4a5fc2104f
commit
eb65822665
5 changed files with 449 additions and 361 deletions
|
@ -440,14 +440,15 @@ QStringList Group::hierarchy()
|
||||||
QStringList hierarchy;
|
QStringList hierarchy;
|
||||||
Group* group = this;
|
Group* group = this;
|
||||||
Group* parent = m_parent;
|
Group* parent = m_parent;
|
||||||
hierarchy << group->name();
|
hierarchy.prepend(group->name());
|
||||||
|
|
||||||
while (parent) {
|
while (parent) {
|
||||||
group = group->parentGroup();
|
group = group->parentGroup();
|
||||||
parent = group->parentGroup();
|
parent = group->parentGroup();
|
||||||
|
|
||||||
hierarchy << group->name();
|
hierarchy.prepend(group->name());
|
||||||
}
|
}
|
||||||
|
|
||||||
return hierarchy;
|
return hierarchy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,6 @@
|
||||||
#include "core/Uuid.h"
|
#include "core/Uuid.h"
|
||||||
|
|
||||||
#include "gui/entry/EntryModel.h"
|
#include "gui/entry/EntryModel.h"
|
||||||
#include "gui/DetailsWidget.h"
|
|
||||||
#include "gui/MessageWidget.h"
|
#include "gui/MessageWidget.h"
|
||||||
#include "gui/csvImport/CsvImportWizard.h"
|
#include "gui/csvImport/CsvImportWizard.h"
|
||||||
|
|
||||||
|
|
|
@ -25,10 +25,12 @@
|
||||||
#include "core/FilePath.h"
|
#include "core/FilePath.h"
|
||||||
#include "core/TimeInfo.h"
|
#include "core/TimeInfo.h"
|
||||||
#include "gui/Clipboard.h"
|
#include "gui/Clipboard.h"
|
||||||
|
#include "gui/DatabaseWidget.h"
|
||||||
|
|
||||||
DetailsWidget::DetailsWidget(QWidget* parent)
|
DetailsWidget::DetailsWidget(QWidget* parent)
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
, m_ui(new Ui::DetailsWidget())
|
, m_ui(new Ui::DetailsWidget())
|
||||||
|
, m_locked(false)
|
||||||
, m_currentEntry(nullptr)
|
, m_currentEntry(nullptr)
|
||||||
, m_currentGroup(nullptr)
|
, m_currentGroup(nullptr)
|
||||||
{
|
{
|
||||||
|
@ -36,6 +38,7 @@ DetailsWidget::DetailsWidget(QWidget* parent)
|
||||||
|
|
||||||
connect(parent, SIGNAL(pressedEntry(Entry*)), SLOT(getSelectedEntry(Entry*)));
|
connect(parent, SIGNAL(pressedEntry(Entry*)), SLOT(getSelectedEntry(Entry*)));
|
||||||
connect(parent, SIGNAL(pressedGroup(Group*)), SLOT(getSelectedGroup(Group*)));
|
connect(parent, SIGNAL(pressedGroup(Group*)), SLOT(getSelectedGroup(Group*)));
|
||||||
|
connect(parent, SIGNAL(currentModeChanged(DatabaseWidget::Mode)), SLOT(setDatabaseMode(DatabaseWidget::Mode)));
|
||||||
|
|
||||||
m_ui->totpButton->setIcon(filePath()->icon("actions", "chronometer"));
|
m_ui->totpButton->setIcon(filePath()->icon("actions", "chronometer"));
|
||||||
m_ui->closeButton->setIcon(filePath()->icon("actions", "dialog-close"));
|
m_ui->closeButton->setIcon(filePath()->icon("actions", "dialog-close"));
|
||||||
|
@ -60,6 +63,9 @@ void DetailsWidget::getSelectedEntry(Entry* selectedEntry)
|
||||||
|
|
||||||
m_ui->stackedWidget->setCurrentIndex(EntryPreview);
|
m_ui->stackedWidget->setCurrentIndex(EntryPreview);
|
||||||
|
|
||||||
|
m_ui->tabWidget->setTabEnabled(AttributesTab, false);
|
||||||
|
m_ui->tabWidget->setTabEnabled(NotesTab, false);
|
||||||
|
|
||||||
m_ui->totpButton->hide();
|
m_ui->totpButton->hide();
|
||||||
m_ui->totpWidget->hide();
|
m_ui->totpWidget->hide();
|
||||||
m_ui->totpButton->setChecked(false);
|
m_ui->totpButton->setChecked(false);
|
||||||
|
@ -81,10 +87,6 @@ void DetailsWidget::getSelectedEntry(Entry* selectedEntry)
|
||||||
m_ui->titleLabel->setText(title);
|
m_ui->titleLabel->setText(title);
|
||||||
|
|
||||||
m_ui->usernameLabel->setText(m_currentEntry->resolveMultiplePlaceholders(m_currentEntry->username()));
|
m_ui->usernameLabel->setText(m_currentEntry->resolveMultiplePlaceholders(m_currentEntry->username()));
|
||||||
if (entry_group) {
|
|
||||||
m_ui->groupLabel->setText(entry_group->name());
|
|
||||||
}
|
|
||||||
m_ui->notesEdit->setText(m_currentEntry->resolveMultiplePlaceholders(m_currentEntry->notes()));
|
|
||||||
|
|
||||||
if (!config()->get("security/hidepassworddetails").toBool()) {
|
if (!config()->get("security/hidepassworddetails").toBool()) {
|
||||||
m_ui->passwordLabel->setText(shortPassword(m_currentEntry->resolveMultiplePlaceholders(m_currentEntry->password())));
|
m_ui->passwordLabel->setText(shortPassword(m_currentEntry->resolveMultiplePlaceholders(m_currentEntry->password())));
|
||||||
|
@ -110,10 +112,6 @@ void DetailsWidget::getSelectedEntry(Entry* selectedEntry)
|
||||||
m_ui->expirationLabel->setText(tr("Never"));
|
m_ui->expirationLabel->setText(tr("Never"));
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ui->creationLabel->setText(entryTime.creationTime().toString(Qt::DefaultLocaleShortDate));
|
|
||||||
m_ui->modifyLabel->setText(entryTime.lastModificationTime().toString(Qt::DefaultLocaleShortDate));
|
|
||||||
m_ui->accessLabel->setText(entryTime.lastAccessTime().toString(Qt::DefaultLocaleShortDate));
|
|
||||||
|
|
||||||
if (m_currentEntry->hasTotp()) {
|
if (m_currentEntry->hasTotp()) {
|
||||||
m_ui->totpButton->show();
|
m_ui->totpButton->show();
|
||||||
updateTotp();
|
updateTotp();
|
||||||
|
@ -124,6 +122,28 @@ void DetailsWidget::getSelectedEntry(Entry* selectedEntry)
|
||||||
connect(m_timer, SIGNAL(timeout()), this, SLOT(updateTotp()));
|
connect(m_timer, SIGNAL(timeout()), this, SLOT(updateTotp()));
|
||||||
m_timer->start(m_step * 10);
|
m_timer->start(m_step * 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString notes = m_currentEntry->notes();
|
||||||
|
if (!notes.isEmpty()) {
|
||||||
|
m_ui->tabWidget->setTabEnabled(NotesTab, true);
|
||||||
|
m_ui->notesEdit->setText(m_currentEntry->resolveMultiplePlaceholders(notes));
|
||||||
|
}
|
||||||
|
|
||||||
|
QStringList customAttributes = m_currentEntry->attributes()->customKeys();
|
||||||
|
if (customAttributes.size() > 0) {
|
||||||
|
m_ui->tabWidget->setTabEnabled(AttributesTab, true);
|
||||||
|
m_ui->attributesEdit->clear();
|
||||||
|
|
||||||
|
QString attributesText = QString();
|
||||||
|
for (const QString& key : customAttributes) {
|
||||||
|
QString value = m_currentEntry->attributes()->value(key);
|
||||||
|
if (m_currentEntry->attributes()->isProtected(key)) {
|
||||||
|
value = "<i>[PROTECTED]</i>";
|
||||||
|
}
|
||||||
|
attributesText.append(QString("<b>%1</b>: %2<br/>").arg(key, value));
|
||||||
|
}
|
||||||
|
m_ui->attributesEdit->setText(attributesText);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DetailsWidget::getSelectedGroup(Group* selectedGroup)
|
void DetailsWidget::getSelectedGroup(Group* selectedGroup)
|
||||||
|
@ -136,13 +156,18 @@ void DetailsWidget::getSelectedGroup(Group* selectedGroup)
|
||||||
|
|
||||||
m_ui->stackedWidget->setCurrentIndex(GroupPreview);
|
m_ui->stackedWidget->setCurrentIndex(GroupPreview);
|
||||||
|
|
||||||
|
m_ui->tabWidget->setTabEnabled(AttributesTab, false);
|
||||||
|
m_ui->tabWidget->setTabEnabled(NotesTab, false);
|
||||||
|
|
||||||
m_ui->totpButton->hide();
|
m_ui->totpButton->hide();
|
||||||
m_ui->totpWidget->hide();
|
m_ui->totpWidget->hide();
|
||||||
|
|
||||||
m_ui->entryIcon->setPixmap(m_currentGroup->iconPixmap());
|
m_ui->entryIcon->setPixmap(m_currentGroup->iconPixmap());
|
||||||
|
|
||||||
QStringList hierarchy = m_currentGroup->hierarchy();
|
|
||||||
QString title = " / ";
|
QString title = " / ";
|
||||||
|
|
||||||
|
QStringList hierarchy = m_currentGroup->hierarchy();
|
||||||
|
|
||||||
for (QString parent : hierarchy) {
|
for (QString parent : hierarchy) {
|
||||||
title.append(parent);
|
title.append(parent);
|
||||||
title.append(" / ");
|
title.append(" / ");
|
||||||
|
@ -177,6 +202,10 @@ void DetailsWidget::getSelectedGroup(Group* selectedGroup)
|
||||||
|
|
||||||
void DetailsWidget::updateTotp()
|
void DetailsWidget::updateTotp()
|
||||||
{
|
{
|
||||||
|
if (m_locked) {
|
||||||
|
m_timer->stop();
|
||||||
|
return;
|
||||||
|
}
|
||||||
QString totpCode = m_currentEntry->totp();
|
QString totpCode = m_currentEntry->totp();
|
||||||
QString firstHalf = totpCode.left(totpCode.size()/2);
|
QString firstHalf = totpCode.left(totpCode.size()/2);
|
||||||
QString secondHalf = totpCode.right(totpCode.size()/2);
|
QString secondHalf = totpCode.right(totpCode.size()/2);
|
||||||
|
@ -219,3 +248,23 @@ void DetailsWidget::hideDetails()
|
||||||
{
|
{
|
||||||
this->hide();
|
this->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DetailsWidget::setDatabaseMode(DatabaseWidget::Mode mode)
|
||||||
|
{
|
||||||
|
m_locked = false;
|
||||||
|
if (mode == DatabaseWidget::LockedMode) {
|
||||||
|
m_locked = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (mode == DatabaseWidget::ViewMode) {
|
||||||
|
if (m_ui->stackedWidget->currentIndex() == GroupPreview) {
|
||||||
|
getSelectedGroup(m_currentGroup);
|
||||||
|
} else {
|
||||||
|
getSelectedEntry(m_currentEntry);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DetailsWidget::copyToClipboard(const QString& text) {
|
||||||
|
clipboard()->setText(text);
|
||||||
|
}
|
|
@ -40,15 +40,25 @@ public:
|
||||||
GroupPreview = 1,
|
GroupPreview = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum TabWidgetIndex
|
||||||
|
{
|
||||||
|
GeneralTab = 0,
|
||||||
|
AttributesTab = 1,
|
||||||
|
NotesTab = 2,
|
||||||
|
};
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void getSelectedEntry(Entry* selectedEntry);
|
void getSelectedEntry(Entry* selectedEntry);
|
||||||
void getSelectedGroup(Group* selectedGroup);
|
void getSelectedGroup(Group* selectedGroup);
|
||||||
void showTotp(bool visible);
|
void showTotp(bool visible);
|
||||||
void updateTotp();
|
void updateTotp();
|
||||||
void hideDetails();
|
void hideDetails();
|
||||||
|
void setDatabaseMode(DatabaseWidget::Mode mode);
|
||||||
|
void copyToClipboard(const QString& text);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const QScopedPointer<Ui::DetailsWidget> m_ui;
|
const QScopedPointer<Ui::DetailsWidget> m_ui;
|
||||||
|
bool m_locked;
|
||||||
Entry* m_currentEntry;
|
Entry* m_currentEntry;
|
||||||
Group* m_currentGroup;
|
Group* m_currentGroup;
|
||||||
quint8 m_step;
|
quint8 m_step;
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>630</width>
|
<width>630</width>
|
||||||
<height>207</height>
|
<height>180</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>16777215</width>
|
<width>16777215</width>
|
||||||
<height>235</height>
|
<height>200</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
@ -146,332 +146,326 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QStackedWidget" name="stackedWidget">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="entryPage">
|
<property name="documentMode">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<bool>false</bool>
|
||||||
<property name="leftMargin">
|
</property>
|
||||||
<number>0</number>
|
<property name="tabsClosable">
|
||||||
</property>
|
<bool>false</bool>
|
||||||
<property name="topMargin">
|
</property>
|
||||||
<number>0</number>
|
<property name="movable">
|
||||||
</property>
|
<bool>false</bool>
|
||||||
<property name="rightMargin">
|
</property>
|
||||||
<number>0</number>
|
<property name="tabBarAutoHide">
|
||||||
</property>
|
<bool>false</bool>
|
||||||
<property name="bottomMargin">
|
</property>
|
||||||
<number>0</number>
|
<widget class="QWidget" name="generalTab">
|
||||||
</property>
|
<attribute name="title">
|
||||||
|
<string>General</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
<widget class="QStackedWidget" name="stackedWidget">
|
||||||
<item>
|
<property name="sizePolicy">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="currentIndex">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="entryPage">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
<item row="0" column="0">
|
<item>
|
||||||
<widget class="QLabel" name="groupLabel_2">
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
<property name="font">
|
<item>
|
||||||
<font>
|
<layout class="QGridLayout" name="gridLayout" columnstretch="1,3">
|
||||||
<weight>75</weight>
|
<item row="2" column="0">
|
||||||
<bold>true</bold>
|
<widget class="QLabel" name="urlLabel_2">
|
||||||
</font>
|
<property name="sizePolicy">
|
||||||
</property>
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
<property name="text">
|
<horstretch>0</horstretch>
|
||||||
<string>Group</string>
|
<verstretch>0</verstretch>
|
||||||
</property>
|
</sizepolicy>
|
||||||
</widget>
|
</property>
|
||||||
</item>
|
<property name="font">
|
||||||
<item row="3" column="0">
|
<font>
|
||||||
<widget class="QLabel" name="urlLabel_2">
|
<pointsize>9</pointsize>
|
||||||
<property name="font">
|
<weight>75</weight>
|
||||||
<font>
|
<bold>true</bold>
|
||||||
<pointsize>9</pointsize>
|
</font>
|
||||||
<weight>75</weight>
|
</property>
|
||||||
<bold>true</bold>
|
<property name="text">
|
||||||
</font>
|
<string>URL</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="alignment">
|
||||||
<string>URL</string>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="passwordLabel_2">
|
<widget class="QLabel" name="passwordLabel_2">
|
||||||
<property name="font">
|
<property name="sizePolicy">
|
||||||
<font>
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
<weight>75</weight>
|
<horstretch>0</horstretch>
|
||||||
<bold>true</bold>
|
<verstretch>0</verstretch>
|
||||||
</font>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="font">
|
||||||
<string>Password</string>
|
<font>
|
||||||
</property>
|
<weight>75</weight>
|
||||||
</widget>
|
<bold>true</bold>
|
||||||
</item>
|
</font>
|
||||||
<item row="1" column="0">
|
</property>
|
||||||
<widget class="QLabel" name="usernameLabel_2">
|
<property name="text">
|
||||||
<property name="font">
|
<string>Password</string>
|
||||||
<font>
|
</property>
|
||||||
<weight>75</weight>
|
<property name="alignment">
|
||||||
<bold>true</bold>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
</font>
|
</property>
|
||||||
</property>
|
</widget>
|
||||||
<property name="text">
|
</item>
|
||||||
<string>Username</string>
|
<item row="0" column="0">
|
||||||
</property>
|
<widget class="QLabel" name="usernameLabel_2">
|
||||||
</widget>
|
<property name="sizePolicy">
|
||||||
</item>
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
<item row="0" column="1">
|
<horstretch>0</horstretch>
|
||||||
<widget class="QLabel" name="groupLabel"/>
|
<verstretch>0</verstretch>
|
||||||
</item>
|
</sizepolicy>
|
||||||
<item row="1" column="1">
|
</property>
|
||||||
<widget class="QLabel" name="usernameLabel"/>
|
<property name="font">
|
||||||
</item>
|
<font>
|
||||||
<item row="3" column="1">
|
<weight>75</weight>
|
||||||
<widget class="QLabel" name="urlLabel">
|
<bold>true</bold>
|
||||||
<property name="sizePolicy">
|
</font>
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
</property>
|
||||||
<horstretch>0</horstretch>
|
<property name="layoutDirection">
|
||||||
<verstretch>0</verstretch>
|
<enum>Qt::LeftToRight</enum>
|
||||||
</sizepolicy>
|
</property>
|
||||||
</property>
|
<property name="text">
|
||||||
<property name="text">
|
<string>Username</string>
|
||||||
<string/>
|
</property>
|
||||||
</property>
|
<property name="alignment">
|
||||||
</widget>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
</item>
|
</property>
|
||||||
<item row="2" column="1">
|
</widget>
|
||||||
<widget class="QLabel" name="passwordLabel"/>
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="usernameLabel"/>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="urlLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="passwordLabel"/>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="expirationLabel_2">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Expiration</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QLabel" name="expirationLabel"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</widget>
|
||||||
<item>
|
<widget class="QWidget" name="groupPage">
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item row="2" column="0">
|
<property name="leftMargin">
|
||||||
<widget class="QLabel" name="modifyLabel_2">
|
<number>0</number>
|
||||||
<property name="font">
|
</property>
|
||||||
<font>
|
<property name="topMargin">
|
||||||
<weight>75</weight>
|
<number>0</number>
|
||||||
<bold>true</bold>
|
</property>
|
||||||
</font>
|
<property name="rightMargin">
|
||||||
</property>
|
<number>0</number>
|
||||||
<property name="text">
|
</property>
|
||||||
<string>Modification</string>
|
<property name="bottomMargin">
|
||||||
</property>
|
<number>0</number>
|
||||||
</widget>
|
</property>
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="accessLabel_2">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Access</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLabel" name="accessLabel"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLabel" name="creationLabel"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="creationLabel_2">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Creation</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="expirationLabel_2">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Expiration</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QLabel" name="modifyLabel"/>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QLabel" name="expirationLabel"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="groupPage">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="rightMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="gridLayout_4">
|
<layout class="QHBoxLayout" name="horizontalLayout_8">
|
||||||
<item row="0" column="1">
|
<item>
|
||||||
<widget class="QLabel" name="autotypeLabel"/>
|
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="autotypeLabel"/>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="autotypeLabel_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Autotype</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="groupExpirationLabel_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Expiration</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="searchingLabel_2">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Searching</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="searchingLabel"/>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="groupExpirationLabel"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<item>
|
||||||
<widget class="QLabel" name="autotypeLabel_2">
|
<layout class="QGridLayout" name="gridLayout_5">
|
||||||
<property name="font">
|
<item row="1" column="0">
|
||||||
<font>
|
<widget class="QLabel" name="groupAccessLabel_2">
|
||||||
<weight>75</weight>
|
<property name="font">
|
||||||
<bold>true</bold>
|
<font>
|
||||||
</font>
|
<weight>75</weight>
|
||||||
</property>
|
<bold>true</bold>
|
||||||
<property name="text">
|
</font>
|
||||||
<string>Autotype</string>
|
</property>
|
||||||
</property>
|
<property name="text">
|
||||||
</widget>
|
<string>Access</string>
|
||||||
</item>
|
</property>
|
||||||
<item row="1" column="1">
|
<property name="alignment">
|
||||||
<widget class="QLabel" name="searchingLabel"/>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
</item>
|
</property>
|
||||||
<item row="1" column="0">
|
</widget>
|
||||||
<widget class="QLabel" name="searchingLabel_2">
|
</item>
|
||||||
<property name="font">
|
<item row="0" column="1">
|
||||||
<font>
|
<widget class="QLabel" name="groupCreationLabel"/>
|
||||||
<weight>75</weight>
|
</item>
|
||||||
<bold>true</bold>
|
<item row="1" column="1">
|
||||||
</font>
|
<widget class="QLabel" name="groupAccessLabel"/>
|
||||||
</property>
|
</item>
|
||||||
<property name="text">
|
<item row="0" column="0">
|
||||||
<string>Searching</string>
|
<widget class="QLabel" name="groupCreationLabel_2">
|
||||||
</property>
|
<property name="font">
|
||||||
</widget>
|
<font>
|
||||||
</item>
|
<weight>75</weight>
|
||||||
<item row="2" column="1">
|
<bold>true</bold>
|
||||||
<widget class="QLabel" name="groupExpirationLabel"/>
|
</font>
|
||||||
</item>
|
</property>
|
||||||
<item row="2" column="0">
|
<property name="text">
|
||||||
<widget class="QLabel" name="groupExpirationLabel_2">
|
<string>Creation</string>
|
||||||
<property name="font">
|
</property>
|
||||||
<font>
|
<property name="alignment">
|
||||||
<weight>75</weight>
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
<bold>true</bold>
|
</property>
|
||||||
</font>
|
</widget>
|
||||||
</property>
|
</item>
|
||||||
<property name="text">
|
<item row="2" column="0">
|
||||||
<string>Expiration</string>
|
<widget class="QLabel" name="groupModifyLabel_2">
|
||||||
</property>
|
<property name="font">
|
||||||
</widget>
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Modification</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLabel" name="groupModifyLabel"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</widget>
|
||||||
<item>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="groupModifyLabel_2">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Modification</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="groupAccessLabel_2">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Access</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLabel" name="groupAccessLabel"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLabel" name="groupCreationLabel"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="groupCreationLabel_2">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Creation</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QLabel" name="groupModifyLabel"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<layout class="QFormLayout" name="formLayout">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="notesLabel_2">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Notes</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@ -488,42 +482,77 @@
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</widget>
|
||||||
<item row="0" column="1">
|
<widget class="QWidget" name="attributesTab">
|
||||||
<widget class="QTextEdit" name="notesEdit">
|
<attribute name="title">
|
||||||
<property name="sizePolicy">
|
<string>Attributes</string>
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
</attribute>
|
||||||
<horstretch>0</horstretch>
|
<layout class="QFormLayout" name="formLayout">
|
||||||
<verstretch>1</verstretch>
|
<item row="0" column="1">
|
||||||
</sizepolicy>
|
<widget class="QTextEdit" name="attributesEdit">
|
||||||
</property>
|
<property name="sizePolicy">
|
||||||
<property name="minimumSize">
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
<size>
|
<horstretch>0</horstretch>
|
||||||
<width>0</width>
|
<verstretch>1</verstretch>
|
||||||
<height>50</height>
|
</sizepolicy>
|
||||||
</size>
|
</property>
|
||||||
</property>
|
<property name="minimumSize">
|
||||||
<property name="maximumSize">
|
<size>
|
||||||
<size>
|
<width>0</width>
|
||||||
<width>16777215</width>
|
<height>80</height>
|
||||||
<height>50</height>
|
</size>
|
||||||
</size>
|
</property>
|
||||||
</property>
|
<property name="maximumSize">
|
||||||
<property name="focusPolicy">
|
<size>
|
||||||
<enum>Qt::ClickFocus</enum>
|
<width>16777215</width>
|
||||||
</property>
|
<height>80</height>
|
||||||
<property name="readOnly">
|
</size>
|
||||||
<bool>true</bool>
|
</property>
|
||||||
</property>
|
<property name="focusPolicy">
|
||||||
</widget>
|
<enum>Qt::ClickFocus</enum>
|
||||||
</item>
|
</property>
|
||||||
</layout>
|
<property name="readOnly">
|
||||||
</item>
|
<bool>true</bool>
|
||||||
<item>
|
</property>
|
||||||
<widget class="Line" name="line">
|
</widget>
|
||||||
<property name="orientation">
|
</item>
|
||||||
<enum>Qt::Horizontal</enum>
|
</layout>
|
||||||
</property>
|
</widget>
|
||||||
|
<widget class="QWidget" name="notesTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Notes</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QFormLayout" name="formLayout_2">
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QTextEdit" name="notesEdit">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>1</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>80</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>80</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::ClickFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue