refs #299, dockable info bar, with style sheet

This commit is contained in:
Klaus Basan
2014-08-02 23:14:58 +02:00
parent 841abd9c14
commit e55bdd0857
4 changed files with 96 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
/* Copyright (C) 2013
* swift Project Community / Contributors
*
* This file is part of swift Project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project,
* including this file, may be copied, modified, propagated, or distributed except according to the terms
* contained in the LICENSE file.
*/
#include "dockwidgetinfobar.h"
#include "components/maininfoareacomponent.h"
#include "stylesheetutility.h"
#include "blackmisc/icons.h"
#include <QStyleOption>
using namespace BlackMisc;
using namespace BlackGui::Components;
namespace BlackGui
{
CDockWidgetInfoBar::CDockWidgetInfoBar(QWidget *parent) : CDockWidget(parent)
{
this->setMarginsWhenDocked(0, 0, 0, -1);
this->setWindowTitle("Info bar");
this->setWindowIcon(CIcons::swift24());
this->ps_onStyleSheetsChanged();
}
void CDockWidgetInfoBar::addToContextMenu(QMenu *contextMenu) const
{
// Dockable widget's context menu
CDockWidget::addToContextMenu(contextMenu);
}
void CDockWidgetInfoBar::ps_onStyleSheetsChanged()
{
QString st = CStyleSheetUtility::instance().style(CStyleSheetUtility::fileNameInfoBar());
this->setStyleSheet(st);
}
}

View File

@@ -0,0 +1,41 @@
/* Copyright (C) 2014
* Swift Project Community / Contributors
*
* This file is part of swift Project. It is subject to the license terms in the LICENSE file found in the top-level
* directory of this distribution and at http://www.swift-project.org/license.html. No part of Swift Project,
* including this file, may be copied, modified, propagated, or distributed except according to the terms
* contained in the LICENSE file.
*/
//! \file
#ifndef BLACKGUI_DOCKWIDGETINFOBAR_H
#define BLACKGUI_DOCKWIDGETINFOBAR_H
#include "blackgui/dockwidget.h"
namespace BlackGui
{
//! Class for dock widgets in the info area, containing some specialized functionality
class CDockWidgetInfoBar : public CDockWidget
{
Q_OBJECT
public:
//! Constructor
explicit CDockWidgetInfoBar(QWidget *parent = nullptr);
protected:
//! Contribute to menu
virtual void addToContextMenu(QMenu *contextMenu) const override;
protected slots:
//! \copydoc CDockWidget::ps_onStyleSheetsChanged
virtual void ps_onStyleSheetsChanged() override;
};
} // namespace
#endif // guard

View File

@@ -0,0 +1,7 @@
QFrame {
background-color: darkslategray;
margin: 0px;
padding-left: 6px;
padding-right: 6px;
padding-bottom: 0px;
}

View File

@@ -61,6 +61,13 @@ namespace BlackGui
return f;
}
//! File name infobar.qss
static const QString &fileNameInfoBar()
{
static const QString f("infobar.qss");
return f;
}
//! File name dockwidgettab.qss
static const QString &fileNameDockWidgetTab()
{