diff --git a/src/blackgui/dockwidgetinfobar.cpp b/src/blackgui/dockwidgetinfobar.cpp new file mode 100644 index 000000000..845e0306c --- /dev/null +++ b/src/blackgui/dockwidgetinfobar.cpp @@ -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 + +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); + } +} diff --git a/src/blackgui/dockwidgetinfobar.h b/src/blackgui/dockwidgetinfobar.h new file mode 100644 index 000000000..9166bd085 --- /dev/null +++ b/src/blackgui/dockwidgetinfobar.h @@ -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 diff --git a/src/blackgui/qss/infobar.qss b/src/blackgui/qss/infobar.qss new file mode 100644 index 000000000..72695c822 --- /dev/null +++ b/src/blackgui/qss/infobar.qss @@ -0,0 +1,7 @@ +QFrame { + background-color: darkslategray; + margin: 0px; + padding-left: 6px; + padding-right: 6px; + padding-bottom: 0px; +} diff --git a/src/blackgui/stylesheetutility.h b/src/blackgui/stylesheetutility.h index 667e2cb9e..ee393ecc9 100644 --- a/src/blackgui/stylesheetutility.h +++ b/src/blackgui/stylesheetutility.h @@ -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() {