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

View File

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

View File

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

View File

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

View File

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

View File

@@ -111,6 +111,7 @@ namespace BlackGui
{ {
this->m_framelessSizeGrip->show(); this->m_framelessSizeGrip->show();
} }
statusBar->repaint();
} }
void CEnableForFramelessWindow::hideFramelessSizeGripInStatusBar() void CEnableForFramelessWindow::hideFramelessSizeGripInStatusBar()
@@ -152,7 +153,6 @@ namespace BlackGui
bool CEnableForFramelessWindow::isToolWindow() const bool CEnableForFramelessWindow::isToolWindow() const
{ {
return (this->m_widget->windowFlags() & Qt::Tool) == Qt::Tool; return (this->m_widget->windowFlags() & Qt::Tool) == Qt::Tool;
} }
@@ -168,7 +168,7 @@ namespace BlackGui
return (Qt::Tool | Qt::WindowStaysOnTopHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint); return (Qt::Tool | Qt::WindowStaysOnTopHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint);
case WindowNormal: case WindowNormal:
default: 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); dw->displayStatusMessage(statusMessage);
} }
for (CInfoArea *ia : this->getChildInfoAreas())
{
ia->displayStatusMessage(statusMessage);
}
} }
void CInfoArea::displayStatusMessages(const CStatusMessageList &statusMessages) void CInfoArea::displayStatusMessages(const CStatusMessageList &statusMessages)
@@ -384,6 +388,10 @@ namespace BlackGui
{ {
dw->displayStatusMessages(statusMessages); dw->displayStatusMessages(statusMessages);
} }
for (CInfoArea *ia : this->getChildInfoAreas())
{
ia->displayStatusMessages(statusMessages);
}
} }
void CInfoArea::ps_setDockArea(Qt::DockWidgetArea area) void CInfoArea::ps_setDockArea(Qt::DockWidgetArea area)

View File

@@ -36,6 +36,7 @@ namespace BlackGui
this->m_ownStatusBar = statusBar ? false : true; this->m_ownStatusBar = statusBar ? false : true;
this->m_statusBar = statusBar ? statusBar : new QStatusBar(); this->m_statusBar = statusBar ? statusBar : new QStatusBar();
if (this->m_statusBar->objectName().isEmpty()) { this->m_statusBar->setObjectName("sb_ManagedStatusBar"); } 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_statusBarIcon = new QLabel(this->m_statusBar);
this->m_statusBarLabel = 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 **/ 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 { BlackGui--CDockWidgetInfoArea > QWidget {
background-color: black; background: black; /** background is background color here **/
background-image: url(:/textures/icons/textures/texture-inner.jpg); background-image: url(:/textures/icons/textures/texture-inner.jpg);
} }
/** the following QFrame, likely the component itself /** this is the first widget in the dock area **/
BlackGui--CDockWidgetInfoArea > QWidget > QFrame { /** all dock widgets shall have this QWidget as container **/
border: 0px; BlackGui--CDockWidgetInfoArea[framelessDockWidget="true"] > QWidget > QFrame {
padding: 0px; margin: 0px;
padding: 3px;
border: 2px solid green;
border-radius: 10px;
} }
/** fix the menu, which is overridden by the above QWidget **/ /** fix the menu, which is overridden by the above QWidget **/

View File

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

View File

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