aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/InfoBoardWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/widgets/InfoBoardWidget.cpp')
-rw-r--r--src/ui/widgets/InfoBoardWidget.cpp60
1 files changed, 51 insertions, 9 deletions
diff --git a/src/ui/widgets/InfoBoardWidget.cpp b/src/ui/widgets/InfoBoardWidget.cpp
index 76f82505..33517a8e 100644
--- a/src/ui/widgets/InfoBoardWidget.cpp
+++ b/src/ui/widgets/InfoBoardWidget.cpp
@@ -25,12 +25,13 @@
#include "ui/widgets/InfoBoardWidget.h"
InfoBoardWidget::InfoBoardWidget(QWidget *parent, GpgME::GpgContext *ctx, KeyList *keyList) :
- QWidget(parent), mCtx(ctx), mKeyList(keyList){
+ QWidget(parent), mCtx(ctx), mKeyList(keyList) {
infoBoard = new QTextEdit(this);
infoBoard->setReadOnly(true);
- infoBoard->setMinimumHeight(140);
+ infoBoard->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
infoBoard->setMinimumWidth(480);
+ infoBoard->setContentsMargins(0, 0, 0, 0);
connect(mCtx, SIGNAL(signalKeyInfoChanged()), this, SLOT(slotReset()));
@@ -41,21 +42,41 @@ InfoBoardWidget::InfoBoardWidget(QWidget *parent, GpgME::GpgContext *ctx, KeyLis
detailMenu->addAction(importFromKeyserverAct);
importFromKeyserverAct->setVisible(false);
+ QWidget *actionButtonMenu = new QWidget();
+ actionButtonMenu->setContentsMargins(0, 0, 0, 0);
+ actionButtonMenu->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
+ actionButtonMenu->setFixedHeight(36);
+
actionButtonLayout = new QHBoxLayout();
+ actionButtonLayout->setContentsMargins(0, 0, 0, 0);
+ actionButtonLayout->setSpacing(0);
+ actionButtonMenu->setLayout(actionButtonLayout);
+
auto label = new QLabel("Optional Actions Menu");
- label->setMinimumHeight(16);
+ label->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
+ label->setContentsMargins(0, 0, 0, 0);
+
actionButtonLayout->addWidget(label);
actionButtonLayout->addStretch();
+
QFrame *line;
line = new QFrame(this);
line->setFrameShape(QFrame::HLine);
line->setFrameShadow(QFrame::Sunken);
+ line->setContentsMargins(0, 0, 0, 0);
auto *notificationWidgetLayout = new QVBoxLayout(this);
+ notificationWidgetLayout->setContentsMargins(0, 0, 0, 0);
+ notificationWidgetLayout->setSpacing(0);
+
notificationWidgetLayout->addWidget(infoBoard);
- notificationWidgetLayout->addLayout(actionButtonLayout);
+ notificationWidgetLayout->setStretchFactor(infoBoard, 10);
+ notificationWidgetLayout->addWidget(actionButtonMenu);
+ notificationWidgetLayout->setStretchFactor(actionButtonMenu, 1);
notificationWidgetLayout->addWidget(line);
+ notificationWidgetLayout->setStretchFactor(line, 1);
+ notificationWidgetLayout->addStretch(0);
this->setLayout(notificationWidgetLayout);
}
@@ -96,15 +117,36 @@ void InfoBoardWidget::slotRefresh(const QString &text, InfoBoardStatus status) {
}
void InfoBoardWidget::associateTextEdit(QTextEdit *edit) {
- this->mTextPage = edit;
- if(mTextPage != nullptr) {
+ if (mTextPage != nullptr)
disconnect(mTextPage, SIGNAL(textChanged()), this, SLOT(slotReset()));
- }
+ this->mTextPage = edit;
connect(edit, SIGNAL(textChanged()), this, SLOT(slotReset()));
}
-void InfoBoardWidget::addOptionalAction(const QString& name, const std::function<void()>& action) {
+void InfoBoardWidget::associateFileTreeView(FilePage *treeView) {
+// if (mFileTreeView != nullptr)
+// disconnect(mFileTreeView, &FilePage::pathChanged, this, &InfoBoardWidget::slotReset);
+// this->mFileTreeView = treeView;
+// connect(treeView, &FilePage::pathChanged, this, &InfoBoardWidget::slotReset);
+}
+
+void InfoBoardWidget::associateTabWidget(QTabWidget *tab) {
+ if (mTextPage != nullptr)
+ disconnect(mTextPage, SIGNAL(textChanged()), this, SLOT(slotReset()));
+// if (mFileTreeView != nullptr)
+// disconnect(mFileTreeView, &FilePage::pathChanged, this, &InfoBoardWidget::slotReset);
+ if (mTabWidget != nullptr)
+ disconnect(mTabWidget, SIGNAL(tabBarClicked(int)), this, SLOT(slotReset()));
+
+ mTextPage = nullptr;
+ mFileTreeView = nullptr;
+ mTabWidget = tab;
+ connect(tab, SIGNAL(tabBarClicked(int)), this, SLOT(slotReset()));
+}
+
+void InfoBoardWidget::addOptionalAction(const QString &name, const std::function<void()> &action) {
auto actionButton = new QPushButton(name);
+ infoBoard->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
actionButtonLayout->addWidget(actionButton);
connect(actionButton, &QPushButton::clicked, this, [=]() {
action();
@@ -113,7 +155,7 @@ void InfoBoardWidget::addOptionalAction(const QString& name, const std::function
void InfoBoardWidget::resetOptionActionsMenu() {
QLayoutItem *item;
- while ((item = actionButtonLayout->layout()->takeAt( 2)) != nullptr ) {
+ while ((item = actionButtonLayout->layout()->takeAt(2)) != nullptr) {
actionButtonLayout->removeItem(item);
delete item->widget();
delete item;