mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-01-27 14:57:09 -05:00
Rework the Entry Preview panel (#3306)
* Add notes to General tab * Combine Attributes and Attachments tabs into Advanced * Remove extra viewTotpWidget * Shrink minimum size of preview panel
This commit is contained in:
parent
5492b5c4f6
commit
6dcd00b609
@ -2,6 +2,7 @@
|
|||||||
=========================
|
=========================
|
||||||
- Group sorting feature [#3282]
|
- Group sorting feature [#3282]
|
||||||
- CLI: Add 'flatten' option to the 'ls' command [#3276]
|
- CLI: Add 'flatten' option to the 'ls' command [#3276]
|
||||||
|
- Rework the Entry Preview panel [#3306]
|
||||||
|
|
||||||
2.4.3 (2019-06-12)
|
2.4.3 (2019-06-12)
|
||||||
=========================
|
=========================
|
||||||
|
@ -50,15 +50,17 @@ EntryPreviewWidget::EntryPreviewWidget(QWidget* parent)
|
|||||||
m_ui->entryTotpButton->setIcon(filePath()->icon("actions", "chronometer"));
|
m_ui->entryTotpButton->setIcon(filePath()->icon("actions", "chronometer"));
|
||||||
m_ui->entryCloseButton->setIcon(filePath()->icon("actions", "dialog-close"));
|
m_ui->entryCloseButton->setIcon(filePath()->icon("actions", "dialog-close"));
|
||||||
m_ui->togglePasswordButton->setIcon(filePath()->onOffIcon("actions", "password-show"));
|
m_ui->togglePasswordButton->setIcon(filePath()->onOffIcon("actions", "password-show"));
|
||||||
|
m_ui->toggleNotesButton->setIcon(filePath()->onOffIcon("actions", "password-show"));
|
||||||
|
|
||||||
m_ui->entryAttachmentsWidget->setReadOnly(true);
|
m_ui->entryAttachmentsWidget->setReadOnly(true);
|
||||||
m_ui->entryAttachmentsWidget->setButtonsVisible(false);
|
m_ui->entryAttachmentsWidget->setButtonsVisible(false);
|
||||||
|
|
||||||
connect(m_ui->entryUrlLabel, SIGNAL(linkActivated(QString)), SLOT(openEntryUrl()));
|
connect(m_ui->entryUrlLabel, SIGNAL(linkActivated(QString)), SLOT(openEntryUrl()));
|
||||||
|
|
||||||
connect(m_ui->entryTotpButton, SIGNAL(toggled(bool)), m_ui->entryTotpWidget, SLOT(setVisible(bool)));
|
connect(m_ui->entryTotpButton, SIGNAL(toggled(bool)), m_ui->entryTotpLabel, SLOT(setVisible(bool)));
|
||||||
connect(m_ui->entryCloseButton, SIGNAL(clicked()), SLOT(hide()));
|
connect(m_ui->entryCloseButton, SIGNAL(clicked()), SLOT(hide()));
|
||||||
connect(m_ui->togglePasswordButton, SIGNAL(clicked(bool)), SLOT(setPasswordVisible(bool)));
|
connect(m_ui->togglePasswordButton, SIGNAL(clicked(bool)), SLOT(setPasswordVisible(bool)));
|
||||||
|
connect(m_ui->toggleNotesButton, SIGNAL(clicked(bool)), SLOT(setNotesVisible(bool)));
|
||||||
connect(m_ui->entryTabWidget, SIGNAL(tabBarClicked(int)), SLOT(updateTabIndexes()), Qt::QueuedConnection);
|
connect(m_ui->entryTabWidget, SIGNAL(tabBarClicked(int)), SLOT(updateTabIndexes()), Qt::QueuedConnection);
|
||||||
connect(&m_totpTimer, SIGNAL(timeout()), SLOT(updateTotpLabel()));
|
connect(&m_totpTimer, SIGNAL(timeout()), SLOT(updateTotpLabel()));
|
||||||
|
|
||||||
@ -84,9 +86,7 @@ void EntryPreviewWidget::setEntry(Entry* selectedEntry)
|
|||||||
updateEntryHeaderLine();
|
updateEntryHeaderLine();
|
||||||
updateEntryTotp();
|
updateEntryTotp();
|
||||||
updateEntryGeneralTab();
|
updateEntryGeneralTab();
|
||||||
updateEntryNotesTab();
|
updateEntryAdvancedTab();
|
||||||
updateEntryAttributesTab();
|
|
||||||
updateEntryAttachmentsTab();
|
|
||||||
updateEntryAutotypeTab();
|
updateEntryAutotypeTab();
|
||||||
|
|
||||||
setVisible(!config()->get("GUI/HidePreviewPanel").toBool());
|
setVisible(!config()->get("GUI/HidePreviewPanel").toBool());
|
||||||
@ -150,7 +150,7 @@ void EntryPreviewWidget::updateEntryTotp()
|
|||||||
Q_ASSERT(m_currentEntry);
|
Q_ASSERT(m_currentEntry);
|
||||||
const bool hasTotp = m_currentEntry->hasTotp();
|
const bool hasTotp = m_currentEntry->hasTotp();
|
||||||
m_ui->entryTotpButton->setVisible(hasTotp);
|
m_ui->entryTotpButton->setVisible(hasTotp);
|
||||||
m_ui->entryTotpWidget->hide();
|
m_ui->entryTotpLabel->hide();
|
||||||
m_ui->entryTotpButton->setChecked(false);
|
m_ui->entryTotpButton->setChecked(false);
|
||||||
|
|
||||||
if (hasTotp) {
|
if (hasTotp) {
|
||||||
@ -181,6 +181,26 @@ void EntryPreviewWidget::setPasswordVisible(bool state)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EntryPreviewWidget::setNotesVisible(bool state)
|
||||||
|
{
|
||||||
|
const QString notes = m_currentEntry->notes();
|
||||||
|
|
||||||
|
auto flags = m_ui->entryNotesLabel->textInteractionFlags();
|
||||||
|
if (state) {
|
||||||
|
m_ui->entryNotesLabel->setText(notes);
|
||||||
|
m_ui->entryNotesLabel->setToolTip(notes);
|
||||||
|
m_ui->entryNotesLabel->setTextInteractionFlags(flags | Qt::TextSelectableByMouse);
|
||||||
|
} else {
|
||||||
|
if (notes.isEmpty()) {
|
||||||
|
m_ui->entryNotesLabel->setText("");
|
||||||
|
} else {
|
||||||
|
m_ui->entryNotesLabel->setText(QString("\u25cf").repeated(6));
|
||||||
|
}
|
||||||
|
m_ui->entryNotesLabel->setToolTip({});
|
||||||
|
m_ui->entryNotesLabel->setTextInteractionFlags(flags & ~Qt::TextSelectableByMouse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void EntryPreviewWidget::updateEntryGeneralTab()
|
void EntryPreviewWidget::updateEntryGeneralTab()
|
||||||
{
|
{
|
||||||
Q_ASSERT(m_currentEntry);
|
Q_ASSERT(m_currentEntry);
|
||||||
@ -198,6 +218,15 @@ void EntryPreviewWidget::updateEntryGeneralTab()
|
|||||||
m_ui->togglePasswordButton->setVisible(false);
|
m_ui->togglePasswordButton->setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config()->get("security/hidenotes").toBool()) {
|
||||||
|
setNotesVisible(false);
|
||||||
|
m_ui->toggleNotesButton->setVisible(!m_ui->entryNotesLabel->text().isEmpty());
|
||||||
|
m_ui->toggleNotesButton->setChecked(false);
|
||||||
|
} else {
|
||||||
|
setNotesVisible(true);
|
||||||
|
m_ui->toggleNotesButton->setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
m_ui->entryUrlLabel->setRawText(m_currentEntry->displayUrl());
|
m_ui->entryUrlLabel->setRawText(m_currentEntry->displayUrl());
|
||||||
const QString url = m_currentEntry->url();
|
const QString url = m_currentEntry->url();
|
||||||
if (!url.isEmpty()) {
|
if (!url.isEmpty()) {
|
||||||
@ -216,23 +245,17 @@ void EntryPreviewWidget::updateEntryGeneralTab()
|
|||||||
m_ui->entryExpirationLabel->setText(expires);
|
m_ui->entryExpirationLabel->setText(expires);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EntryPreviewWidget::updateEntryNotesTab()
|
void EntryPreviewWidget::updateEntryAdvancedTab()
|
||||||
{
|
|
||||||
Q_ASSERT(m_currentEntry);
|
|
||||||
const QString notes = m_currentEntry->notes();
|
|
||||||
setTabEnabled(m_ui->entryTabWidget, m_ui->entryNotesTab, !notes.isEmpty());
|
|
||||||
m_ui->entryNotesEdit->setText(notes);
|
|
||||||
}
|
|
||||||
|
|
||||||
void EntryPreviewWidget::updateEntryAttributesTab()
|
|
||||||
{
|
{
|
||||||
Q_ASSERT(m_currentEntry);
|
Q_ASSERT(m_currentEntry);
|
||||||
m_ui->entryAttributesEdit->clear();
|
m_ui->entryAttributesEdit->clear();
|
||||||
const EntryAttributes* attributes = m_currentEntry->attributes();
|
const EntryAttributes* attributes = m_currentEntry->attributes();
|
||||||
const QStringList customAttributes = attributes->customKeys();
|
const QStringList customAttributes = attributes->customKeys();
|
||||||
const bool haveAttributes = !customAttributes.isEmpty();
|
const bool hasAttributes = !customAttributes.isEmpty();
|
||||||
setTabEnabled(m_ui->entryTabWidget, m_ui->entryAttributesTab, haveAttributes);
|
const bool hasAttachments = !m_currentEntry->attachments()->isEmpty();
|
||||||
if (haveAttributes) {
|
|
||||||
|
setTabEnabled(m_ui->entryTabWidget, m_ui->entryAdvancedTab, hasAttributes || hasAttachments);
|
||||||
|
if (hasAttributes) {
|
||||||
QString attributesText;
|
QString attributesText;
|
||||||
for (const QString& key : customAttributes) {
|
for (const QString& key : customAttributes) {
|
||||||
QString value = m_currentEntry->attributes()->value(key);
|
QString value = m_currentEntry->attributes()->value(key);
|
||||||
@ -243,13 +266,7 @@ void EntryPreviewWidget::updateEntryAttributesTab()
|
|||||||
}
|
}
|
||||||
m_ui->entryAttributesEdit->setText(attributesText);
|
m_ui->entryAttributesEdit->setText(attributesText);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void EntryPreviewWidget::updateEntryAttachmentsTab()
|
|
||||||
{
|
|
||||||
Q_ASSERT(m_currentEntry);
|
|
||||||
const bool hasAttachments = !m_currentEntry->attachments()->isEmpty();
|
|
||||||
setTabEnabled(m_ui->entryTabWidget, m_ui->entryAttachmentsTab, hasAttachments);
|
|
||||||
m_ui->entryAttachmentsWidget->setEntryAttachments(m_currentEntry->attachments());
|
m_ui->entryAttachmentsWidget->setEntryAttachments(m_currentEntry->attachments());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -354,9 +371,9 @@ QPixmap EntryPreviewWidget::preparePixmap(const QPixmap& pixmap, int size)
|
|||||||
|
|
||||||
QString EntryPreviewWidget::hierarchy(const Group* group, const QString& title)
|
QString EntryPreviewWidget::hierarchy(const Group* group, const QString& title)
|
||||||
{
|
{
|
||||||
const QString separator(" / ");
|
const QString separator("] > [");
|
||||||
QStringList hierarchy = group->hierarchy();
|
QStringList hierarchy = group->hierarchy();
|
||||||
hierarchy.removeFirst();
|
QString groupList = QString("[%1]").arg(hierarchy.join(separator));
|
||||||
hierarchy.append(title);
|
|
||||||
return QString("%1%2").arg(separator, hierarchy.join(separator));
|
return title.isEmpty() ? groupList : QString("%1 > %2").arg(groupList, title);
|
||||||
}
|
}
|
||||||
|
@ -49,11 +49,10 @@ private slots:
|
|||||||
void updateEntryHeaderLine();
|
void updateEntryHeaderLine();
|
||||||
void updateEntryTotp();
|
void updateEntryTotp();
|
||||||
void updateEntryGeneralTab();
|
void updateEntryGeneralTab();
|
||||||
void updateEntryNotesTab();
|
void updateEntryAdvancedTab();
|
||||||
void updateEntryAttributesTab();
|
|
||||||
void updateEntryAttachmentsTab();
|
|
||||||
void updateEntryAutotypeTab();
|
void updateEntryAutotypeTab();
|
||||||
void setPasswordVisible(bool state);
|
void setPasswordVisible(bool state);
|
||||||
|
void setNotesVisible(bool state);
|
||||||
|
|
||||||
void updateGroupHeaderLine();
|
void updateGroupHeaderLine();
|
||||||
void updateGroupGeneralTab();
|
void updateGroupGeneralTab();
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>573</width>
|
<width>566</width>
|
||||||
<height>330</height>
|
<height>169</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||||
@ -46,7 +46,7 @@
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="entryHorizontalLayout" stretch="0,0,0,0,0,0">
|
<layout class="QHBoxLayout" name="entryHorizontalLayout" stretch="0,1,0,0,0">
|
||||||
<property name="sizeConstraint">
|
<property name="sizeConstraint">
|
||||||
<enum>QLayout::SetDefaultConstraint</enum>
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
</property>
|
</property>
|
||||||
@ -61,6 +61,12 @@
|
|||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
</property>
|
</property>
|
||||||
@ -85,31 +91,6 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="entryHorizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QWidget" name="entryTotpWidget" native="true">
|
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
|
||||||
<property name="leftMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<property name="bottomMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="entryTotpLabel">
|
<widget class="QLabel" name="entryTotpLabel">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
@ -119,20 +100,17 @@
|
|||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string>1234567</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QToolButton" name="entryTotpButton">
|
<widget class="QToolButton" name="entryTotpButton">
|
||||||
<property name="focusPolicy">
|
<property name="focusPolicy">
|
||||||
<enum>Qt::ClickFocus</enum>
|
<enum>Qt::TabFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Generate TOTP Token</string>
|
<string>Display current TOTP value</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string/>
|
<string/>
|
||||||
@ -145,7 +123,7 @@
|
|||||||
<item>
|
<item>
|
||||||
<widget class="QToolButton" name="entryCloseButton">
|
<widget class="QToolButton" name="entryCloseButton">
|
||||||
<property name="focusPolicy">
|
<property name="focusPolicy">
|
||||||
<enum>Qt::ClickFocus</enum>
|
<enum>Qt::TabFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Close</string>
|
<string>Close</string>
|
||||||
@ -181,7 +159,7 @@
|
|||||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QWidget" name="entryGeneralWidget" native="true">
|
<widget class="QWidget" name="entryGeneralWidget" native="true">
|
||||||
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0,0,0" columnstretch="0,0,0,0,0,0">
|
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0,0" columnstretch="0,0,0,2,0,0,3">
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
@ -235,7 +213,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="4">
|
<item row="0" column="3">
|
||||||
<widget class="QLabel" name="entryUsernameLabel">
|
<widget class="QLabel" name="entryUsernameLabel">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
@ -257,6 +235,88 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="4">
|
||||||
|
<spacer name="entryMiddleHorizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>10</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="5">
|
||||||
|
<widget class="QLabel" name="entryUrlTitleLabel">
|
||||||
|
<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>URL</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="6">
|
||||||
|
<widget class="ElidedLabel" name="entryUrlLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>PointingHandCursor</cursorShape>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::ClickFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">https://example.com</string>
|
||||||
|
</property>
|
||||||
|
<property name="textInteractionFlags">
|
||||||
|
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="entryLeftHorizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QLabel" name="entryPasswordTitleLabel">
|
<widget class="QLabel" name="entryPasswordTitleLabel">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
@ -279,102 +339,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1">
|
<item row="1" column="2" colspan="2">
|
||||||
<widget class="QLabel" name="entryExpirationTitleLabel">
|
|
||||||
<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="4" column="4">
|
|
||||||
<spacer name="verticalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="4">
|
|
||||||
<widget class="ElidedLabel" name="entryUrlLabel">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>100</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="cursor">
|
|
||||||
<cursorShape>PointingHandCursor</cursorShape>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">https://example.com</string>
|
|
||||||
</property>
|
|
||||||
<property name="textInteractionFlags">
|
|
||||||
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="4">
|
|
||||||
<widget class="QLabel" name="entryExpirationLabel">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">expired</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QLabel" name="entryUrlTitleLabel">
|
|
||||||
<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>URL</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="3" colspan="2">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0">
|
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0">
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
@ -413,8 +378,8 @@
|
|||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="4">
|
||||||
<spacer name="entryLeftHorizontalSpacer_2">
|
<spacer name="entryMiddleHorizontalSpacer_3">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
@ -423,14 +388,49 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="sizeHint" stdset="0">
|
||||||
<size>
|
<size>
|
||||||
<width>20</width>
|
<width>10</width>
|
||||||
<height>20</height>
|
<height>20</height>
|
||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="5">
|
||||||
|
<widget class="QLabel" name="entryExpirationTitleLabel">
|
||||||
|
<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="1" column="6">
|
||||||
|
<widget class="QLabel" name="entryExpirationLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">expired</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="2" column="0">
|
||||||
<spacer name="entryLeftHorizontalSpacer_3">
|
<spacer name="entryLeftHorizontalSpacer_5">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Horizontal</enum>
|
<enum>Qt::Horizontal</enum>
|
||||||
</property>
|
</property>
|
||||||
@ -445,33 +445,198 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="2" column="1">
|
||||||
<spacer name="entryLeftHorizontalSpacer_4">
|
<widget class="QLabel" name="entryNotesTitleLabel">
|
||||||
<property name="orientation">
|
<property name="sizePolicy">
|
||||||
<enum>Qt::Horizontal</enum>
|
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeType">
|
<property name="font">
|
||||||
<enum>QSizePolicy::Fixed</enum>
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="text">
|
||||||
<size>
|
<string>Notes</string>
|
||||||
<width>20</width>
|
</property>
|
||||||
<height>20</height>
|
<property name="alignment">
|
||||||
</size>
|
<set>Qt::AlignRight</set>
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
<item row="2" column="2" colspan="5">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="0,0">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>4</number>
|
||||||
|
</property>
|
||||||
|
<item alignment="Qt::AlignTop">
|
||||||
|
<widget class="QToolButton" name="toggleNotesButton">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="entryAttributesTab">
|
</item>
|
||||||
<attribute name="title">
|
|
||||||
<string>Attributes</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
<item>
|
||||||
|
<widget class="QLabel" name="entryNotesLabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>100</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">notes</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignTop</set>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="entryAdvancedTab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Advanced</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QGridLayout" name="gridLayout" rowstretch="0,0" columnstretch="0,1,0,2,0">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<spacer name="entryAdvancedLeftHorizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>5</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="attributesTitleLabel">
|
||||||
|
<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>Attributes</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<spacer name="entryAdvancedMiddleHorizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>5</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="3">
|
||||||
|
<widget class="QLabel" name="attachmentsTitleLabel">
|
||||||
|
<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>Attachments</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="4">
|
||||||
|
<spacer name="entryAdvancedRightHorizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>5</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer name="entryAdvancedLeftHorizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>5</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
<widget class="QTextEdit" name="entryAttributesEdit">
|
<widget class="QTextEdit" name="entryAttributesEdit">
|
||||||
<property name="focusPolicy">
|
<property name="focusPolicy">
|
||||||
<enum>Qt::ClickFocus</enum>
|
<enum>Qt::ClickFocus</enum>
|
||||||
@ -481,33 +646,45 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
<item row="1" column="2">
|
||||||
</widget>
|
<spacer name="entryAdvancedMiddleHorizontalSpacer_2">
|
||||||
<widget class="QWidget" name="entryAttachmentsTab">
|
<property name="orientation">
|
||||||
<attribute name="title">
|
<enum>Qt::Horizontal</enum>
|
||||||
<string>Attachments</string>
|
</property>
|
||||||
</attribute>
|
<property name="sizeType">
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
<item>
|
</property>
|
||||||
<widget class="EntryAttachmentsWidget" name="entryAttachmentsWidget" native="true"/>
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>5</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
<item row="1" column="3">
|
||||||
</widget>
|
<widget class="EntryAttachmentsWidget" name="entryAttachmentsWidget" native="true">
|
||||||
<widget class="QWidget" name="entryNotesTab">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Notes</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
||||||
<item>
|
|
||||||
<widget class="QTextEdit" name="entryNotesEdit">
|
|
||||||
<property name="focusPolicy">
|
<property name="focusPolicy">
|
||||||
<enum>Qt::ClickFocus</enum>
|
<enum>Qt::ClickFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="readOnly">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="4">
|
||||||
|
<spacer name="entryAdvancedRightHorizontalSpacer_2">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>5</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="entryAutotypeTab">
|
<widget class="QWidget" name="entryAutotypeTab">
|
||||||
@ -517,6 +694,9 @@
|
|||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTreeWidget" name="entryAutotypeTree">
|
<widget class="QTreeWidget" name="entryAutotypeTree">
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::ClickFocus</enum>
|
||||||
|
</property>
|
||||||
<property name="frameShadow">
|
<property name="frameShadow">
|
||||||
<enum>QFrame::Sunken</enum>
|
<enum>QFrame::Sunken</enum>
|
||||||
</property>
|
</property>
|
||||||
@ -535,12 +715,12 @@
|
|||||||
<attribute name="headerCascadingSectionResizes">
|
<attribute name="headerCascadingSectionResizes">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="headerDefaultSectionSize">
|
|
||||||
<number>250</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="headerMinimumSectionSize">
|
<attribute name="headerMinimumSectionSize">
|
||||||
<number>50</number>
|
<number>50</number>
|
||||||
</attribute>
|
</attribute>
|
||||||
|
<attribute name="headerDefaultSectionSize">
|
||||||
|
<number>250</number>
|
||||||
|
</attribute>
|
||||||
<attribute name="headerStretchLastSection">
|
<attribute name="headerStretchLastSection">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</attribute>
|
</attribute>
|
||||||
@ -923,9 +1103,11 @@
|
|||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
|
<tabstop>entryCloseButton</tabstop>
|
||||||
<tabstop>entryTotpButton</tabstop>
|
<tabstop>entryTotpButton</tabstop>
|
||||||
|
<tabstop>togglePasswordButton</tabstop>
|
||||||
|
<tabstop>toggleNotesButton</tabstop>
|
||||||
<tabstop>entryAutotypeTree</tabstop>
|
<tabstop>entryAutotypeTree</tabstop>
|
||||||
<tabstop>entryTabWidget</tabstop>
|
|
||||||
<tabstop>groupCloseButton</tabstop>
|
<tabstop>groupCloseButton</tabstop>
|
||||||
<tabstop>groupTabWidget</tabstop>
|
<tabstop>groupTabWidget</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user