Some improvements and fixes refs #312, Navigator (aka navigation bars)

* Added extra QFrame in CDockWidgets to have better control in stylesheez (CDockWidget -> QWidget -> QFrame)
* Adjusted stylesheets
* Force update of stylesheet when frameless changes
* Cascading status message in nested CInfoArea components

Floating frameless dock widget still not transparent
This commit is contained in:
Klaus Basan
2015-04-18 03:38:05 +02:00
parent dd3f91bcd8
commit 464a8f4258
11 changed files with 526 additions and 158 deletions

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>161</width>
<height>67</height>
<height>55</height>
</rect>
</property>
<property name="sizePolicy">
@@ -58,16 +58,16 @@
<attribute name="dockWidgetArea">
<number>8</number>
</attribute>
<widget class="QWidget" name="qw_CockpitVoiceRoomsInner">
<layout class="QVBoxLayout" name="vl_CockpitVoiceRooms">
<widget class="QWidget" name="qw_CockpitVoiceRoomsOuter">
<layout class="QVBoxLayout" name="vl_CockpitVoiceRoomsOuter">
<property name="spacing">
<number>3</number>
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -76,13 +76,43 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CVoiceRoomsComponent" name="comp_VoiceRooms">
<widget class="QFrame" name="fr_CockpitVoiceRoomsInner">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_CockpitVOiceRoomsInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CVoiceRoomsComponent" name="comp_VoiceRooms">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -110,16 +140,16 @@
<attribute name="dockWidgetArea">
<number>8</number>
</attribute>
<widget class="QWidget" name="qw_AudioInner">
<layout class="QVBoxLayout" name="vl_Audio">
<widget class="QWidget" name="qw_AudioOuter">
<layout class="QVBoxLayout" name="vl_AudioOuter">
<property name="spacing">
<number>3</number>
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -128,13 +158,43 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CAudioComponent" name="comp_Audio">
<widget class="QFrame" name="fr_AudioInner">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_AudioInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CAudioComponent" name="comp_Audio">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>

View File

@@ -6,16 +6,10 @@
<rect>
<x>0</x>
<y>0</y>
<width>1266</width>
<height>55</height>
<width>1533</width>
<height>242</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="windowTitle">
<string>Main info area</string>
</property>
@@ -65,8 +59,8 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_CockpitInner">
<layout class="QVBoxLayout" name="vl_Cockpit">
<widget class="QWidget" name="qw_CockpitOuter">
<layout class="QVBoxLayout" name="vl_CockpitOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -83,7 +77,37 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CCockpitComponent" name="comp_Cockpit" native="true"/>
<widget class="QFrame" name="fr_CockpitInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_CockpitInner">
<property name="spacing">
<number>0</number>
</property>
<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>
<widget class="BlackGui::Components::CCockpitComponent" name="comp_Cockpit" native="true"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
@@ -91,8 +115,8 @@
<widget class="BlackGui::CDockWidgetInfoArea" name="dwp_Aircraft">
<property name="minimumSize">
<size>
<width>127</width>
<height>38</height>
<width>165</width>
<height>66</height>
</size>
</property>
<property name="features">
@@ -107,14 +131,8 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_AircraftInner">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<layout class="QVBoxLayout" name="vl_Aircrafts">
<widget class="QWidget" name="qw_AircraftOuter">
<layout class="QVBoxLayout" name="vl_AircraftOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -122,7 +140,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -131,19 +149,49 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CAircraftComponent" name="comp_Aircraft">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<widget class="QFrame" name="fr_AircraftInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_AircraftInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CAircraftComponent" name="comp_Aircraft">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -152,8 +200,8 @@
<widget class="BlackGui::CDockWidgetInfoArea" name="dwp_AtcStations">
<property name="minimumSize">
<size>
<width>127</width>
<height>38</height>
<width>165</width>
<height>66</height>
</size>
</property>
<property name="floating">
@@ -168,14 +216,14 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_AtcStationsInner">
<widget class="QWidget" name="qw_AtcStationsOuter">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<layout class="QVBoxLayout" name="vl_AtcStations">
<layout class="QVBoxLayout" name="vl_AtcStationsOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -183,7 +231,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -192,19 +240,49 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CAtcStationComponent" name="comp_AtcStations">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<widget class="QFrame" name="fr_AtcStationsInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_AtcStationsInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CAtcStationComponent" name="comp_AtcStations">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -213,8 +291,8 @@
<widget class="BlackGui::CDockWidgetInfoArea" name="dwp_Users">
<property name="minimumSize">
<size>
<width>127</width>
<height>38</height>
<width>163</width>
<height>64</height>
</size>
</property>
<property name="allowedAreas">
@@ -226,8 +304,8 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_UsersInner">
<layout class="QVBoxLayout" name="vl_Users">
<widget class="QWidget" name="qw_UsersOuter">
<layout class="QVBoxLayout" name="vl_UsersOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -235,7 +313,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -244,13 +322,43 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CUserComponent" name="comp_Users">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<widget class="QFrame" name="fr_UsersInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_UsersInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CUserComponent" name="comp_Users">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -260,7 +368,7 @@
<property name="minimumSize">
<size>
<width>127</width>
<height>38</height>
<height>50</height>
</size>
</property>
<property name="allowedAreas">
@@ -272,8 +380,8 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_TextMessagesInner">
<layout class="QVBoxLayout" name="vl_TextMessages">
<widget class="QWidget" name="qw_TextMessagesOuter">
<layout class="QVBoxLayout" name="vl_TextMessagesOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -281,7 +389,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -308,8 +416,8 @@
<widget class="BlackGui::CDockWidgetInfoArea" name="dwp_Simulator">
<property name="minimumSize">
<size>
<width>127</width>
<height>38</height>
<width>165</width>
<height>66</height>
</size>
</property>
<property name="allowedAreas">
@@ -321,8 +429,8 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_SimulatorInner">
<layout class="QVBoxLayout" name="vl_Simulator">
<widget class="QWidget" name="qw_SimulatorOuter">
<layout class="QVBoxLayout" name="vl_SimulatorOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -330,7 +438,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -339,13 +447,43 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CSimulatorComponent" name="comp_Simulator">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<widget class="QFrame" name="fr_SimulatorInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_SimulatorInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CSimulatorComponent" name="comp_Simulator">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -354,8 +492,8 @@
<widget class="BlackGui::CDockWidgetInfoArea" name="dwp_FlightPlan">
<property name="minimumSize">
<size>
<width>127</width>
<height>38</height>
<width>165</width>
<height>66</height>
</size>
</property>
<property name="allowedAreas">
@@ -367,16 +505,13 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_FlightPlanInner">
<layout class="QVBoxLayout" name="vl_FlightPlan">
<property name="spacing">
<number>0</number>
</property>
<widget class="QWidget" name="qw_FlightPlanOuter">
<layout class="QVBoxLayout" name="vl_FlightPlanOuter">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -385,13 +520,43 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CFlightPlanComponent" name="comp_FlightPlan">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<widget class="QFrame" name="fr_FlightPlanInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_FlightPlanInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CFlightPlanComponent" name="comp_FlightPlan">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -401,7 +566,7 @@
<property name="minimumSize">
<size>
<width>80</width>
<height>38</height>
<height>50</height>
</size>
</property>
<property name="allowedAreas">
@@ -413,7 +578,7 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_WeatherInner">
<widget class="QWidget" name="qw_WeatherOuter">
<property name="minimumSize">
<size>
<width>0</width>
@@ -437,7 +602,7 @@
<number>0</number>
</property>
<item>
<widget class="QFrame" name="fr_WeatherDummy">
<widget class="QFrame" name="fr_WeatherInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
@@ -447,16 +612,28 @@
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QFrame" name="comp_Weather">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="BlackGui::CDockWidgetInfoArea" name="dwp_Mappings">
<widget class="BlackGui::CDockWidgetInfoArea" name="dwp_Rendering">
<property name="minimumSize">
<size>
<width>127</width>
<height>38</height>
<width>165</width>
<height>66</height>
</size>
</property>
<property name="allowedAreas">
@@ -468,8 +645,8 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_MappingsInner">
<layout class="QVBoxLayout" name="vl_Mappings">
<widget class="QWidget" name="qw_RenderingOuter">
<layout class="QVBoxLayout" name="vl_RenderingOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -477,7 +654,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -486,13 +663,43 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CMappingComponent" name="comp_Mappings">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<widget class="QFrame" name="fr_RenderingInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_RenderingInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CMappingComponent" name="comp_Mappings">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -502,7 +709,7 @@
<property name="minimumSize">
<size>
<width>80</width>
<height>38</height>
<height>70</height>
</size>
</property>
<property name="allowedAreas">
@@ -514,8 +721,8 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_LogInner">
<layout class="QVBoxLayout" name="vl_Log">
<widget class="QWidget" name="qw_LogOuter">
<layout class="QVBoxLayout" name="vl_LogOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -523,7 +730,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -532,7 +739,7 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CLogComponent" name="comp_Log">
<widget class="QFrame" name="fr_LogInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
@@ -542,6 +749,36 @@
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_LogInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CLogComponent" name="comp_Log">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -550,8 +787,8 @@
<widget class="BlackGui::CDockWidgetInfoArea" name="dwp_Settings">
<property name="minimumSize">
<size>
<width>127</width>
<height>38</height>
<width>165</width>
<height>66</height>
</size>
</property>
<property name="allowedAreas">
@@ -563,8 +800,8 @@
<attribute name="dockWidgetArea">
<number>4</number>
</attribute>
<widget class="QWidget" name="qw_SettingsInner">
<layout class="QVBoxLayout" name="vl_Settings">
<widget class="QWidget" name="qw_SettingsOuter">
<layout class="QVBoxLayout" name="vl_SettingsOuter">
<property name="spacing">
<number>0</number>
</property>
@@ -572,7 +809,7 @@
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
@@ -581,13 +818,43 @@
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CSettingsComponent" name="comp_Settings">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<widget class="QFrame" name="fr_SettingsInner">
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<layout class="QVBoxLayout" name="vl_SettingsInner">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="BlackGui::Components::CSettingsComponent" name="comp_Settings">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>

View File

@@ -104,13 +104,13 @@ namespace BlackGui
void CDockWidget::displayStatusMessage(const BlackMisc::CStatusMessage &statusMessage)
{
if (!this->isFloating()) { return; }
if (!this->m_allowStatusBar || !this->isFloating()) { return; }
this->m_statusBar.displayStatusMessage(statusMessage);
}
void CDockWidget::displayStatusMessages(const BlackMisc::CStatusMessageList &statusMessages)
{
if (!this->isFloating()) { return; }
if (!this->m_allowStatusBar || !this->isFloating()) { return; }
this->m_statusBar.displayStatusMessages(statusMessages);
}
@@ -173,8 +173,7 @@ namespace BlackGui
this->resize(innerWidget->size());
}
//! \todo CDockWidget, check if style sheet reload is needed
this->ps_onStyleSheetsChanged(); // force style sheet reload
this->forceStyleSheetUpdate(); // force style sheet reload
}
void CDockWidget::toggleFloating()
@@ -336,7 +335,14 @@ namespace BlackGui
QDockWidget::setWindowTitle(this->m_windowTitleBackup);
}
this->setNullTitleBarWidget();
if (!this->m_wasAlreadyFloating) { this->initialFloating(); }
if (!this->m_wasAlreadyFloating)
{
this->initialFloating();
}
else
{
if (m_wasFrameless) { setFrameless(true); }
}
this->setContentsMargins(
this->isFrameless() ?
@@ -380,13 +386,24 @@ namespace BlackGui
if (!this->m_allowStatusBar) { return; }
this->m_statusBar.initStatusBar();
QWidget *innerWidget = this->widget(); // the inner widget containing the layout
Q_ASSERT(innerWidget);
if (!innerWidget) { return; }
// we expect the following hierarchy
// QDockWidget (CDockWidget/CDockWidgetInfoArea) -> QWidget (outer widget) -> QFrame (inner widget)
// Structure used for frameless floating windows
QWidget *outerWidget = this->widget(); // the inner widget containing the layout
Q_ASSERT_X(outerWidget, "CDockWidget::initStatusBar", "No outer widget");
Q_ASSERT_X(outerWidget->layout(), "CDockWidget::initStatusBar", "No outer widget layout");
Q_ASSERT_X(outerWidget->layout()->itemAt(0) && outerWidget->layout()->itemAt(0)->widget(), "CDockWidget::initStatusBar", "No outer widget layout item");
if (!outerWidget || !outerWidget->layout() || !outerWidget->layout()->itemAt(0) || !outerWidget->layout()->itemAt(0)->widget()) { this->m_allowStatusBar = false; return; }
// Inner widget is supposed to be a QFrame / promoted QFrame
QFrame *innerWidget = qobject_cast<QFrame *>(outerWidget->layout()->itemAt(0)->widget()); // the inner widget containing the layout
Q_ASSERT_X(innerWidget, "CDockWidget::initStatusBar", "No inner widget");
if (!innerWidget) { this->m_allowStatusBar = false; return; }
QVBoxLayout *vLayout = qobject_cast<QVBoxLayout *>(innerWidget->layout());
Q_ASSERT(vLayout);
if (!vLayout) { return; }
vLayout->addWidget(this->m_statusBar.getStatusBar(), 0, Qt::AlignBottom);
Q_ASSERT_X(vLayout, "CDockWidget::initStatusBar", "No outer widget layout");
if (!vLayout) { this->m_allowStatusBar = false; return; }
vLayout->addWidget(this->m_statusBar.getStatusBar(), 0, Qt::AlignBottom); // 0->vertical stretch minimum
// adjust stretching of the original widget. It was the only widget so far
// and should occupy maximum space
@@ -414,6 +431,13 @@ namespace BlackGui
void CDockWidget::ps_onStyleSheetsChanged()
{
this->update();
}
void CDockWidget::forceStyleSheetUpdate()
{
QString qss = this->styleSheet();
this->setStyleSheet(qss.isEmpty() ? " " : "");
this->setStyleSheet(qss);
}
} // namespace

View File

@@ -184,6 +184,7 @@ namespace BlackGui
bool m_resetedFloating = false;
bool m_selected = false; //!< selected when tabbed
bool m_dockWidgetVisible = false; //!< logical visible, not to be confused with QDockWidget::isVisible()
bool m_wasFrameless = false; //!< frameless when last floating
//! Empty widget with no size
void initTitleBarWidgets();
@@ -191,6 +192,8 @@ namespace BlackGui
//! Init status bar
void initStatusBar();
//! Force a style sheet update
void forceStyleSheetUpdate();
};
} // namespace

View File

@@ -24,7 +24,7 @@ namespace BlackGui
{
this->setWindowTitle("Info status bar");
this->setWindowIcon(CIcons::swift24());
this->ps_onStyleSheetsChanged();
this->ps_onStyleSheetsChanged(); // margins from infobar
}
void CDockWidgetInfoBar::addToContextMenu(QMenu *contextMenu) const

View File

@@ -111,6 +111,7 @@ namespace BlackGui
{
this->m_framelessSizeGrip->show();
}
statusBar->repaint();
}
void CEnableForFramelessWindow::hideFramelessSizeGripInStatusBar()
@@ -152,7 +153,6 @@ namespace BlackGui
bool CEnableForFramelessWindow::isToolWindow() const
{
return (this->m_widget->windowFlags() & Qt::Tool) == Qt::Tool;
}
@@ -168,7 +168,7 @@ namespace BlackGui
return (Qt::Tool | Qt::WindowStaysOnTopHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
case WindowNormal:
default:
return (Qt::Desktop | Qt::WindowStaysOnTopHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
return (Qt::Window | Qt::WindowStaysOnTopHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
}
}

View File

@@ -376,6 +376,10 @@ namespace BlackGui
{
dw->displayStatusMessage(statusMessage);
}
for (CInfoArea *ia : this->getChildInfoAreas())
{
ia->displayStatusMessage(statusMessage);
}
}
void CInfoArea::displayStatusMessages(const CStatusMessageList &statusMessages)
@@ -384,6 +388,10 @@ namespace BlackGui
{
dw->displayStatusMessages(statusMessages);
}
for (CInfoArea *ia : this->getChildInfoAreas())
{
ia->displayStatusMessages(statusMessages);
}
}
void CInfoArea::ps_setDockArea(Qt::DockWidgetArea area)

View File

@@ -36,6 +36,7 @@ namespace BlackGui
this->m_ownStatusBar = statusBar ? false : true;
this->m_statusBar = statusBar ? statusBar : new QStatusBar();
if (this->m_statusBar->objectName().isEmpty()) { this->m_statusBar->setObjectName("sb_ManagedStatusBar"); }
if (this->m_ownStatusBar) { m_statusBar->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);}
this->m_statusBarIcon = new QLabel(this->m_statusBar);
this->m_statusBarLabel = new QLabel(this->m_statusBar);

View File

@@ -39,17 +39,18 @@ BlackGui--CDockWidgetInfoArea {
background-color: green; /** I use green here so I can adjust the borders in gui.ini **/
}
/** this is the first widget in the dock area **/
/** all dock widgets shall have this QWidget as container **/
BlackGui--CDockWidgetInfoArea > QWidget {
background-color: black;
background: black; /** background is background color here **/
background-image: url(:/textures/icons/textures/texture-inner.jpg);
}
/** the following QFrame, likely the component itself
BlackGui--CDockWidgetInfoArea > QWidget > QFrame {
border: 0px;
padding: 0px;
/** this is the first widget in the dock area **/
/** all dock widgets shall have this QWidget as container **/
BlackGui--CDockWidgetInfoArea[framelessDockWidget="true"] > QWidget > QFrame {
margin: 0px;
padding: 3px;
border: 2px solid green;
border-radius: 10px;
}
/** fix the menu, which is overridden by the above QWidget **/

View File

@@ -1,7 +1,8 @@
#fr_NavigatorDockWidgetInner[framelessDockWidget="true"] {
margin: 0px;
padding: 3px;
border: 2px solid green;
border-radius: 20px;
border-radius: 10px;
}
#fr_NavigatorDockWidgetInner QToolButton {

View File

@@ -238,7 +238,10 @@ void SwiftGuiStd::ps_displayStatusMessageInGui(const CStatusMessage &statusMessa
if (statusMessage.wasHandledBy(this)) { return; }
statusMessage.markAsHandledBy(this);
this->m_statusBar.displayStatusMessage(statusMessage);
// main info areas
this->ui->comp_MainInfoArea->displayStatusMessage(statusMessage);
this->ui->comp_InvisibleInfoArea->displayStatusMessage(statusMessage);
// list
this->ui->comp_MainInfoArea->getLogComponent()->appendStatusMessageToList(statusMessage);