layout update

This commit is contained in:
thez3ro 2017-09-27 19:18:13 +02:00
parent 4a5fc2104f
commit eb65822665
No known key found for this signature in database
GPG key ID: F628F9E41DD7C073
5 changed files with 449 additions and 361 deletions

View file

@ -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;
} }

View file

@ -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"

View file

@ -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);
}

View file

@ -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;

View file

@ -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>