diff --git a/src/AutoHideTab.cpp b/src/AutoHideTab.cpp index 3d7e3fa..5f69c45 100644 --- a/src/AutoHideTab.cpp +++ b/src/AutoHideTab.cpp @@ -99,7 +99,6 @@ void AutoHideTabPrivate::updateOrientation() { _this->setText(""); _this->setOrientation(Qt::Horizontal); - _this->updateStyle(); } else { @@ -249,4 +248,11 @@ void CAutoHideTab::mousePressEvent(QMouseEvent* event) Super::mousePressEvent(event); } + +//============================================================================ +bool CAutoHideTab::iconOnly() const +{ + return CDockManager::testAutoHideConfigFlag(CDockManager::AutoHideSideBarsIconOnly) && !icon().isNull(); +} + } diff --git a/src/AutoHideTab.h b/src/AutoHideTab.h index 2a942b4..58ec665 100644 --- a/src/AutoHideTab.h +++ b/src/AutoHideTab.h @@ -53,6 +53,7 @@ class ADS_EXPORT CAutoHideTab : public CPushButton Q_PROPERTY(int sideBarLocation READ sideBarLocation) Q_PROPERTY(Qt::Orientation orientation READ orientation) Q_PROPERTY(bool activeTab READ isActiveTab) + Q_PROPERTY(bool iconOnly READ iconOnly) private: AutoHideTabPrivate* d; ///< private data (pimpl) @@ -121,6 +122,12 @@ public: * Sets the dock widget that is controlled by this tab */ void setDockWidget(CDockWidget* DockWidget); + + /** + * Returns true if the auto hide config flag AutoHideSideBarsIconOnly + * is set and if the tab has an icon - that means the icon is not null + */ + bool iconOnly() const; }; // class AutoHideTab } // namespace ads diff --git a/src/stylesheets/default.css b/src/stylesheets/default.css index 718b482..83d1e32 100644 --- a/src/stylesheets/default.css +++ b/src/stylesheets/default.css @@ -142,40 +142,81 @@ ads--CAutoHideTab { } -ads--CAutoHideTab[sideBarLocation="0"], -ads--CAutoHideTab[sideBarLocation="2"] { +ads--CAutoHideTab:hover +{ + color: palette(highlight); +} + + +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="0"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="2"] { border-top: 6px solid rgba(0, 0, 0, 48); } -ads--CAutoHideTab[sideBarLocation="1"], -ads--CAutoHideTab[sideBarLocation="3"] { +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="1"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="3"] { border-bottom: 6px solid rgba(0, 0, 0, 48); } -ads--CAutoHideTab:hover[sideBarLocation="0"], -ads--CAutoHideTab:hover[sideBarLocation="2"] { +ads--CAutoHideTab:hover[iconOnly="false"][sideBarLocation="0"], +ads--CAutoHideTab:hover[iconOnly="false"][sideBarLocation="2"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="0"][activeTab="true"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="2"][activeTab="true"] { border-top: 6px solid palette(highlight); - color: palette(highlight); } -ads--CAutoHideTab:hover[sideBarLocation="1"], -ads--CAutoHideTab:hover[sideBarLocation="3"] { +ads--CAutoHideTab:hover[iconOnly="false"][sideBarLocation="1"], +ads--CAutoHideTab:hover[iconOnly="false"][sideBarLocation="3"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="1"][activeTab="true"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="3"][activeTab="true"] { border-bottom: 6px solid palette(highlight); - color: palette(highlight); } -ads--CAutoHideTab[sideBarLocation="0"][activeTab="true"], -ads--CAutoHideTab[sideBarLocation="2"][activeTab="true"] { + +/** + * Auto hide tabs with icon only + */ +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="0"] { + border-top: 6px solid rgba(0, 0, 0, 48); +} + +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="1"] { + border-left: 6px solid rgba(0, 0, 0, 48); +} + +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="2"] { + border-right: 6px solid rgba(0, 0, 0, 48); +} + +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="3"] { + border-bottom: 6px solid rgba(0, 0, 0, 48); +} + + +/** + * Auto hide tabs with icon only hover + */ +ads--CAutoHideTab:hover[iconOnly="true"][sideBarLocation="0"], +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="0"][activeTab="true"] { border-top: 6px solid palette(highlight); } +ads--CAutoHideTab:hover[iconOnly="true"][sideBarLocation="1"], +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="1"][activeTab="true"] { + border-left: 6px solid palette(highlight); +} -ads--CAutoHideTab[sideBarLocation="1"][activeTab="true"], -ads--CAutoHideTab[sideBarLocation="3"][activeTab="true"] { +ads--CAutoHideTab:hover[iconOnly="true"][sideBarLocation="2"], +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="2"][activeTab="true"] { + border-right: 6px solid palette(highlight); +} + +ads--CAutoHideTab:hover[iconOnly="true"][sideBarLocation="3"], +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="3"][activeTab="true"] { border-bottom: 6px solid palette(highlight); } diff --git a/src/stylesheets/focus_highlighting.css b/src/stylesheets/focus_highlighting.css index 3b01452..f615929 100644 --- a/src/stylesheets/focus_highlighting.css +++ b/src/stylesheets/focus_highlighting.css @@ -185,43 +185,84 @@ ads--CAutoHideTab:hover } -ads--CAutoHideTab[sideBarLocation="0"], -ads--CAutoHideTab[sideBarLocation="2"] { +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="0"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="2"] { border-top: 6px solid rgba(0, 0, 0, 48); } -ads--CAutoHideTab[sideBarLocation="1"], -ads--CAutoHideTab[sideBarLocation="3"] { +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="1"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="3"] { border-bottom: 6px solid rgba(0, 0, 0, 48); } -ads--CAutoHideTab:hover[sideBarLocation="0"], -ads--CAutoHideTab:hover[sideBarLocation="2"] { +ads--CAutoHideTab:hover[iconOnly="false"][sideBarLocation="0"], +ads--CAutoHideTab:hover[iconOnly="false"][sideBarLocation="2"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="0"][activeTab="true"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="2"][activeTab="true"] { border-top: 6px solid palette(highlight); } -ads--CAutoHideTab:hover[sideBarLocation="1"], -ads--CAutoHideTab:hover[sideBarLocation="3"] { +ads--CAutoHideTab:hover[iconOnly="false"][sideBarLocation="1"], +ads--CAutoHideTab:hover[iconOnly="false"][sideBarLocation="3"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="1"][activeTab="true"], +ads--CAutoHideTab[iconOnly="false"][sideBarLocation="3"][activeTab="true"] { border-bottom: 6px solid palette(highlight); } -ads--CAutoHideTab[sideBarLocation="0"][activeTab="true"], -ads--CAutoHideTab[sideBarLocation="2"][activeTab="true"] { + +/** + * Auto hide tabs with icon only + */ +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="0"] { + border-top: 6px solid rgba(0, 0, 0, 48); +} + +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="1"] { + border-left: 6px solid rgba(0, 0, 0, 48); +} + +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="2"] { + border-right: 6px solid rgba(0, 0, 0, 48); +} + +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="3"] { + border-bottom: 6px solid rgba(0, 0, 0, 48); +} + + +/** + * Auto hide tabs with icon only hover + */ +ads--CAutoHideTab:hover[iconOnly="true"][sideBarLocation="0"], +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="0"][activeTab="true"] { border-top: 6px solid palette(highlight); } +ads--CAutoHideTab:hover[iconOnly="true"][sideBarLocation="1"], +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="1"][activeTab="true"] { + border-left: 6px solid palette(highlight); +} -ads--CAutoHideTab[sideBarLocation="1"][activeTab="true"], -ads--CAutoHideTab[sideBarLocation="3"][activeTab="true"] { +ads--CAutoHideTab:hover[iconOnly="true"][sideBarLocation="2"], +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="2"][activeTab="true"] { + border-right: 6px solid palette(highlight); +} + +ads--CAutoHideTab:hover[iconOnly="true"][sideBarLocation="3"], +ads--CAutoHideTab[iconOnly="true"][sideBarLocation="3"][activeTab="true"] { border-bottom: 6px solid palette(highlight); } + + + + /***************************************************************************** * CAutoHideSideBar *****************************************************************************/