Fixed some minor GUI issues

* resizing for floating widgets
* vertical policies
* menus for views
* margins for keypad
* using property mainwindowframeless in style sheet
This commit is contained in:
Klaus Basan
2014-11-21 02:04:55 +01:00
committed by Roland Winklmeier
parent cd2c7c12a7
commit facbefeeea
13 changed files with 451 additions and 402 deletions

View File

@@ -191,7 +191,7 @@
<item row="4" column="1">
<widget class="QProgressBar" name="prb_SetupAudioTestProgress">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>

View File

@@ -69,9 +69,9 @@
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<y>-77</y>
<width>373</width>
<height>431</height>
<height>447</height>
</rect>
</property>
<property name="sizePolicy">
@@ -113,70 +113,20 @@
<property name="horizontalSpacing">
<number>6</number>
</property>
<item row="9" column="1" colspan="2">
<widget class="QLineEdit" name="le_PilotsName">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="3">
<widget class="QLineEdit" name="le_AlternateAirport">
<property name="inputMask">
<string>&gt;AAAA</string>
</property>
<item row="2" column="2">
<widget class="QLabel" name="lbl_TakeOffTimePlanned">
<property name="text">
<string>ICAO</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="le_Callsign">
<property name="inputMask">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>40</number>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="9" column="3">
<widget class="QLineEdit" name="le_PilotsHomebase"/>
</item>
<item row="3" column="3">
<widget class="QLineEdit" name="le_CrusingAltitude">
<property name="maxLength">
<number>40</number>
</property>
</widget>
</item>
<item row="11" column="3">
<widget class="QPushButton" name="pb_Send">
<property name="text">
<string>Send plan</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="lbl_EstimatedTimeEnroute">
<property name="text">
<string>10. Estimated time enroute</string>
<string>6. Departure time</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="lbl_LastSent">
<item row="12" column="2">
<widget class="QPushButton" name="pb_Load">
<property name="text">
<string>Sent</string>
<string>Load plan</string>
</property>
</widget>
</item>
@@ -190,40 +140,23 @@
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="lbl_TakeOffTimePlanned">
<property name="text">
<string>6. Departure time</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="2">
<widget class="QPushButton" name="pb_Load">
<property name="text">
<string>Load plan</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="lbl_DestinationAirport">
<property name="text">
<string>9.Destination airport</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="1">
<item row="12" column="1">
<widget class="QPushButton" name="pb_Reset">
<property name="text">
<string>Reset plan</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="lbl_EstimatedTimeEnroute">
<property name="text">
<string>10. Estimated time enroute</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="8" column="0">
<layout class="QGridLayout" name="gl_Remarks">
<item row="0" column="0">
@@ -256,6 +189,13 @@
</item>
</layout>
</item>
<item row="9" column="1" colspan="2">
<widget class="QLineEdit" name="le_PilotsName">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="3">
<widget class="QLabel" name="lbl_AlternateAirport">
<property name="text">
@@ -266,25 +206,22 @@
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QLabel" name="lbl_CrusingAltitude">
<item row="12" column="3">
<widget class="QPushButton" name="pb_Send">
<property name="text">
<string>7. Cruising altitude</string>
</property>
<property name="wordWrap">
<bool>true</bool>
<string>Send plan</string>
</property>
</widget>
</item>
<item row="10" column="1" colspan="3">
<widget class="QLineEdit" name="le_LastSent">
<property name="readOnly">
<bool>true</bool>
<item row="3" column="3">
<widget class="QLineEdit" name="le_CrusingAltitude">
<property name="maxLength">
<number>40</number>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLineEdit" name="le_DestinationAirport">
<item row="7" column="3">
<widget class="QLineEdit" name="le_AlternateAirport">
<property name="inputMask">
<string>&gt;AAAA</string>
</property>
@@ -293,18 +230,47 @@
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="lbl_PilotsNameAndHomebase">
<property name="text">
<string>14. Pilots name / homebase</string>
<item row="9" column="3">
<widget class="QLineEdit" name="le_PilotsHomebase"/>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="le_Callsign">
<property name="inputMask">
<string/>
</property>
<property name="wordWrap">
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>40</number>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="8" column="1" colspan="3">
<widget class="QPlainTextEdit" name="pte_Remarks">
<item row="0" column="0">
<widget class="QLabel" name="lbl_Type">
<property name="text">
<string>1. Type</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLineEdit" name="le_TakeOffTimePlanned">
<property name="inputMask">
<string>99:99</string>
</property>
<property name="text">
<string>00:00</string>
</property>
<property name="maxLength">
<number>5</number>
</property>
</widget>
</item>
<item row="5" column="0" colspan="4">
<widget class="QPlainTextEdit" name="pte_Route">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -317,48 +283,62 @@
<height>75</height>
</size>
</property>
<property name="tabStopWidth">
<number>1</number>
</widget>
</item>
<item row="4" column="0" colspan="4">
<widget class="QLabel" name="lbl_Route">
<property name="text">
<string>8. Route</string>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QLineEdit" name="le_FuelOnBoard">
<item row="1" column="2">
<widget class="QLineEdit" name="le_AircraftType"/>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="le_OriginAirport">
<property name="inputMask">
<string>99:99</string>
<string>&gt;AAAA</string>
</property>
<property name="text">
<string>00:00</string>
<string>ICAO</string>
</property>
<property name="maxLength">
<number>5</number>
<number>4</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="lbl_OriginAirport">
<item row="12" column="0">
<widget class="QPushButton" name="pb_ValidateFlightPlan">
<property name="text">
<string>5. Departure airport</string>
<string>Validate</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLineEdit" name="le_CruiseTrueAirspeed">
<property name="text">
<string>0 kts</string>
</property>
<property name="maxLength">
<number>40</number>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QLabel" name="lbl_FuelOnBorad">
<property name="text">
<string>12. Fuel on board</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="le_EstimatedTimeEnroute">
<property name="inputMask">
<string>99:99</string>
</property>
<item row="0" column="2">
<widget class="QLabel" name="lbl_Aircraft_Type">
<property name="text">
<string>00:00</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="lbl_Callsign">
<property name="text">
<string>2. Callsign</string>
<string>3. Aircraft type</string>
</property>
<property name="scaledContents">
<bool>false</bool>
@@ -368,13 +348,6 @@
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QPushButton" name="pb_ValidateFlightPlan">
<property name="text">
<string>Validate</string>
</property>
</widget>
</item>
<item row="1" column="0" rowspan="3">
<widget class="QGroupBox" name="gb_Type">
<property name="title">
@@ -419,46 +392,27 @@
</layout>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="le_OriginAirport">
<property name="inputMask">
<string>&gt;AAAA</string>
</property>
<item row="2" column="1">
<widget class="QLabel" name="lbl_OriginAirport">
<property name="text">
<string>ICAO</string>
</property>
<property name="maxLength">
<number>4</number>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QLabel" name="lbl_FuelOnBorad">
<property name="text">
<string>12. Fuel on board</string>
<string>5. Departure airport</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLineEdit" name="le_CruiseTrueAirspeed">
<item row="10" column="0">
<widget class="QLabel" name="lbl_LastSent">
<property name="text">
<string>0 kts</string>
</property>
<property name="maxLength">
<number>40</number>
<string>Sent</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLineEdit" name="le_AircraftType"/>
</item>
<item row="0" column="2">
<widget class="QLabel" name="lbl_Aircraft_Type">
<item row="0" column="1">
<widget class="QLabel" name="lbl_Callsign">
<property name="text">
<string>3. Aircraft type</string>
<string>2. Callsign</string>
</property>
<property name="scaledContents">
<bool>false</bool>
@@ -468,35 +422,65 @@
</property>
</widget>
</item>
<item row="4" column="0" colspan="4">
<widget class="QLabel" name="lbl_Route">
<item row="9" column="0">
<widget class="QLabel" name="lbl_PilotsNameAndHomebase">
<property name="text">
<string>8. Route</string>
<string>14. Pilots name / homebase</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QLineEdit" name="le_TakeOffTimePlanned">
<item row="2" column="3">
<widget class="QLabel" name="lbl_CrusingAltitude">
<property name="text">
<string>7. Cruising altitude</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLineEdit" name="le_EstimatedTimeEnroute">
<property name="inputMask">
<string>99:99</string>
</property>
<property name="text">
<string>00:00</string>
</property>
<property name="maxLength">
<number>5</number>
</widget>
</item>
<item row="10" column="1" colspan="3">
<widget class="QLineEdit" name="le_LastSent">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="lbl_Type">
<item row="7" column="0">
<widget class="QLineEdit" name="le_DestinationAirport">
<property name="inputMask">
<string>&gt;AAAA</string>
</property>
<property name="text">
<string>1. Type</string>
<string>ICAO</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="4">
<widget class="QPlainTextEdit" name="pte_Route">
<item row="6" column="0">
<widget class="QLabel" name="lbl_DestinationAirport">
<property name="text">
<string>9.Destination airport</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="8" column="1" colspan="3">
<widget class="QPlainTextEdit" name="pte_Remarks">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@@ -509,8 +493,40 @@
<height>75</height>
</size>
</property>
<property name="tabStopWidth">
<number>1</number>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QLineEdit" name="le_FuelOnBoard">
<property name="inputMask">
<string>99:99</string>
</property>
<property name="text">
<string>00:00</string>
</property>
<property name="maxLength">
<number>5</number>
</property>
</widget>
</item>
<item row="11" column="0" colspan="4">
<spacer name="vs_ButtonDistance">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
@@ -555,8 +571,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>373</width>
<height>455</height>
<width>302</width>
<height>468</height>
</rect>
</property>
<layout class="QVBoxLayout" name="vl_RemarksGeneratorScroll">

View File

@@ -48,13 +48,13 @@
<enum>QLayout::SetDefaultConstraint</enum>
</property>
<property name="leftMargin">
<number>2</number>
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>2</number>
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>

View File

@@ -67,7 +67,7 @@
<item>
<widget class="BlackGui::CServerForm" name="frp_ServerForm">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>

View File

@@ -142,6 +142,7 @@ namespace BlackGui
// for the first time resize
if (!this->m_preferredSizeWhenFloating.isNull())
{
this->m_initialDockedMinimumSize = this->minimumSize();
this->resize(this->m_preferredSizeWhenFloating);
}
@@ -165,23 +166,22 @@ namespace BlackGui
}
this->setNullTitleBar();
this->setContentsMargins(this->m_marginsWhenFloating);
if (!this->m_wasAlreadyFloating)
{
this->initialFloating();
}
if (!this->m_wasAlreadyFloating) { this->initialFloating(); }
this->m_statusBar.show();
this->m_wasAlreadyFloating = true;
}
else
{
if (!this->m_windowTitleWhenDocked)
{
QDockWidget::setWindowTitle("");
}
if (!this->m_windowTitleWhenDocked) { QDockWidget::setWindowTitle(""); }
this->m_statusBar.hide();
this->setEmptyTitleBar();
this->setContentsMargins(this->m_marginsWhenDocked);
// sometimes floating sets a new minimum size, here we reset it
if (this->minimumHeight() > this->m_initialDockedMinimumSize.height())
{
this->setMinimumSize(this->m_initialDockedMinimumSize);
}
}
emit this->widgetTopLevelChanged(this, topLevel);
}

View File

@@ -148,6 +148,7 @@ namespace BlackGui
CManagedStatusBar m_statusBar; //!< Status bar when floating
QString m_windowTitleBackup; //!< original title, even if the widget title is deleted for layout purposes
QSize m_preferredSizeWhenFloating; //!< preferred size when floating 1st time
QSize m_initialDockedMinimumSize; //!< minimum size before first floating
QPoint m_offsetWhenFloating; //!< initial offset to main window when floating first time
bool m_allowStatusBar = true;
bool m_windowTitleWhenDocked = true;

View File

@@ -96,8 +96,10 @@ namespace BlackGui
QList<CEnableForDockWidgetInfoArea *> infoAreaDockWidgets = this->findEmbeddedDockWidgetInfoAreaComponents();
foreach(CEnableForDockWidgetInfoArea * dwia, infoAreaDockWidgets)
{
Q_ASSERT(dwia);
// KWB: potentially a risk when this object is deleted
// put under normal situations the child object will be deleted as well, and we have
// but under normal situations the child object will be deleted as well, and we have
// no multi-threaded GUI
dwia->setParentDockWidgetInfoArea(this);
}
@@ -109,6 +111,7 @@ namespace BlackGui
QList<CEnableForDockWidgetInfoArea *> widgetsWithDockWidgetInfoAreaComponent;
foreach(QWidget * w, widgets)
{
Q_ASSERT(w);
CEnableForDockWidgetInfoArea *dwc = dynamic_cast<Components::CEnableForDockWidgetInfoArea *>(w);
if (dwc)
{

View File

@@ -13,32 +13,32 @@ mainframeless (infobar.qss)
/** putting background here works for framed, but not for frameless window **/
#MainWindow {
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
}
/** required when dock widget is floating **/
#sw_MainMiddle QDockWidget {
background-image: url(:/textures/icons/textures/texture-inner.jpg);
background-color: black;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
background-color: black;
}
/** required when info area is floating **/
BlackGui--CInfoArea {
background-image: url(:/textures/icons/textures/texture-inner.jpg);
background-color: black;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
background-color: black;
}
/** fix scroll areas **/
/** in flight plan **/
QAbstractScrollArea #qw_FlightPlanTabMain {
background-color: black;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
background-color: black;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
}
QAbstractScrollArea #qw_RemarksGenerator {
background-color: transparent;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
background-color: transparent;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
}
/** in log component **/
@@ -48,376 +48,400 @@ QAbstractScrollArea #pg_StatusPageConsole { background-color: black; }
/** main GUI parts **/
#dw_InfoBarStatus {
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
border: 0px;
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
border: 0px;
}
#wi_CentralWidgetOutside {
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
margin: 0px;
padding: 5px;
#wi_CentralWidgetOutside[mainframeless="true"] {
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
margin: 0px;
border: 2px solid green;
border-radius: 20px;
}
#fr_CentralFrameInside {
margin: 5px;
margin: 5px;
}
#gb_AtcStationsOnlineInfo {
border-style: none;
border-style: none;
}
#sw_MainMiddle {
padding: 3px;
border: 1px solid green;
border-radius: 10px;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
padding: 3px;
border: 1px solid green;
border-radius: 10px;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
}
#sw_MainMiddle QPushButton {
background-color: rgba(0, 0, 255, 128);
border-style: none;
border-radius:3px;
color: yellow;
padding: 3px;
margin-right: 5px;
background-color: rgba(0, 0, 255, 128);
border-style: none;
border-radius:3px;
color: yellow;
padding: 3px;
margin-right: 5px;
}
/** close button with frameless windows **/
#pb_FramelessCloseButton {
background: transparent;
padding: 0px 10px 0px 0px;
margin: 0px;
}
/** for FontDialog etc. **/
#comp_Settings QToolButton {
background-color: rgba(0, 0, 255, 128);
border-style: none;
border-radius:3px;
color: yellow;
}
#wi_MainKeypadArea QPushButton {
/** background-image: url(:/textures/icons/textures/texture-inner.jpg); **/
/** need to fix pressed button first **/
background: black;
border-style: solid;
border-width: 1px;
border-radius:6px;
border-color: green;
max-height:20px;
min-width:60px;
min-height:20px;
/** background-image: url(:/textures/icons/textures/texture-inner.jpg); **/
/** need to fix pressed button first **/
background: black;
border-style: solid;
border-width: 1px;
border-radius:6px;
border-color: green;
max-height:20px;
min-width:60px;
min-height:20px;
}
#wi_MainKeypadArea QPushButton::checked {
/** background-image: url(:/textures/icons/textures/texture-inner.jpg); **/
/** need to fix pressed button first **/
border-style: solid;
border-color: yellow;
font: bold;
color: yellow;
/** background-image: url(:/textures/icons/textures/texture-inner.jpg); **/
/** need to fix pressed button first **/
border-style: solid;
border-color: yellow;
font: bold;
color: yellow;
}
/** cockpit needs to come after sw_MainMiddle **/
#comp_CockpitComComponent QPushButton {
background-color: transparent;
border-style: solid;
border-radius:3px;
border-width: 0px;
border-color: blue;
color: yellow;
padding: 1px;
margin: 2px;
background-color: transparent;
border-style: solid;
border-radius:3px;
border-width: 0px;
border-color: blue;
color: yellow;
padding: 1px;
margin: 2px;
}
/** fixes scroll area for audio setup and inner background **/
#sa_AudioSetup { background-color: black; }
#sa_AudioComponentInner {
background-image: url(:/textures/icons/textures/texture-inner.jpg);
background-color: black;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
background-color: black;
}
/** volume buttons **/
#wi_AudioSoundButtons QPushButton {
background-color: transparent;
background-color: transparent;
}
/** COM panel **/
#wip_CockpitComPanelShowHideBar QPushButton {
background-color: transparent;
border-style: solid;
border-radius:3px;
border-width: 0px;
border-color: blue;
background-color: transparent;
border-style: solid;
border-radius:3px;
border-width: 0px;
border-color: blue;
}
#le_CommandLineInput {
background-image: url(:/textures/icons/textures/texture-inner.jpg);
margin-bottom: 5px;
padding: 3px;
border-radius: 5px;
background-image: url(:/textures/icons/textures/texture-inner.jpg);
margin-bottom: 5px;
padding: 3px;
border-radius: 5px;
}
QProgressBar {
border: 1px solid green;
border-radius: 5px;
background-color: black;
text-align: center;
padding: 0px;
height: 16px;
border: 1px solid green;
border-radius: 5px;
background-color: black;
text-align: center;
padding: 0px;
height: 16px;
}
QProgressBar::chunk {
background-color: darkblue;
width: 10px;
margin: 0.5px;
background-color: darkblue;
width: 10px;
margin: 0.5px;
}
QTabWidget::pane { /* The tab widget frame */
border: none;
border: none;
}
QTabWidget::tab-bar {
left: 5px; /* move to the right by 5px */
left: 5px; /* move to the right by 5px */
}
QTabBar::tab {
border: 1px solid green;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
min-width: 30px;
padding: 2px;
padding-left: 4px;
padding-right: 4px;
margin-right: 3px;
border: 1px solid green;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
min-width: 30px;
padding: 2px;
padding-left: 4px;
padding-right: 4px;
margin-right: 3px;
}
QTabBar::tab::selected {
background-color: rgba(0, 0, 255, 128);
background-color: rgba(0, 0, 255, 128);
}
QTabBar::tear {
image: url(:/own/icons/own/transparent1px.png);
max-width: 1px;
image: url(:/own/icons/own/transparent1px.png);
max-width: 1px;
}
QTabBar QToolButton { /* the scroll buttons are tool buttons */
background-color: rgba(0, 0, 255, 200);
border: 1px solid green;
background-color: rgba(0, 0, 255, 200);
border: 1px solid green;
}
QLabel {
background: transparent;
background: transparent;
}
QLineEdit {
background: transparent;
border: 1px solid green;
border-radius: 5px;
background: transparent;
border: 1px solid green;
border-radius: 5px;
}
QLineEdit[readOnly="true"] {
background: transparent;
background: transparent;
}
QCheckBox {
border: 0px solid green; /** also borders label **/
background: transparent;
border: 0px solid green; /** also borders label **/
background: transparent;
}
QTextEdit {
border: 1px solid green;
background: transparent;
border-radius: 5px;
border: 1px solid green;
background: transparent;
border-radius: 5px;
}
QPlainTextEdit {
border: 1px solid green;
background: transparent;
border-radius: 5px;
border: 1px solid green;
background: transparent;
border-radius: 5px;
}
QGroupBox {
border: 1px solid green;
margin-top: 2ex; /* leave space at the top for the title */
border: 1px solid green;
margin-top: 2ex; /* leave space at the top for the title */
}
QGroupBox::title {
subcontrol-origin: margin;
subcontrol-position: middle center; /* position at the top center */
padding: 0 3px;
subcontrol-origin: margin;
subcontrol-position: middle center; /* position at the top center */
padding: 0 3px;
}
QToolBox::tab {
border: 1px solid green;
border-radius: 6px;
min-width: 30px;
padding: 2px;
padding-left: 4px;
padding-right: 4px;
border: 1px solid green;
border-radius: 6px;
min-width: 30px;
padding: 2px;
padding-left: 4px;
padding-right: 4px;
}
QToolBox::tab::selected {
background-color: rgba(0, 0, 255, 128);
background-color: rgba(0, 0, 255, 128);
}
/** no border on page */
QToolBox > QWidget {
border: 0px;
border: 0px;
}
QComboBox {
border: 1px solid green;
border-radius: 5px;
padding: 1px;
background: transparent;
border: 1px solid green;
border-radius: 5px;
padding: 1px;
background: transparent;
}
/** drop down list **/
QComboBox QAbstractItemView {
background-color: lightgray;
color: black;
background-color: lightgray;
color: black;
}
QDoubleSpinBox {
border: 1px solid green;
border-radius: 5px;
padding: 1px;
background: transparent;
QDoubleSpinBox {
border: 1px solid green;
border-radius: 5px;
padding: 1px;
background: transparent;
}
QSpinBox {
border: 1px solid green;
border-radius: 5px;
padding: 1px;
background: transparent;
QSpinBox {
border: 1px solid green;
border-radius: 5px;
padding: 1px;
background: transparent;
}
QColorDialog {
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
}
QMenuBar {
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
background-image: url(:/textures/icons/textures/texture-outer.jpg);
background-color: darkslategray;
padding: 0px 0px 0px 10px;
margin: 0px 0px 20px 0px; /** removes overlapping bar in frameless mode, why bottom margin helps here, no idea, bug? **/
}
QMenuBar::item {
spacing: 3px; /* spacing between menu bar items */
padding: 1px 4px;
background: transparent;
border-radius: 4px;
spacing: 3px; /* spacing between menu bar items */
padding: 1px 4px;
background: transparent;
border-radius: 4px;
}
QMenuBar::item:selected { /* when selected using mouse or keyboard */
background: black;
background: black;
}
QMenuBar::item:pressed {
background: black;
background: black;
}
QMenu {
border: 2px solid darkslategray; /* reserve space for selection border */
background: lightgray;
color: black;
padding: 2px;
border: 2px solid darkslategray; /* reserve space for selection border */
background: lightgray;
color: black;
padding: 2px;
}
QScrollArea {
border: 1px solid green;
border-radius: 5px;
border: 1px solid green;
border-radius: 5px;
}
QScrollBar:horizontal {
border: 2px solid gray;
background: slategray;
height: 10px;
margin: 0px 5px 0 5px;
border: 2px solid gray;
background: slategray;
height: 10px;
margin: 0px 5px 0px 5px;
}
QScrollBar:vertical {
border: 2px solid gray;
background: slategray;
width: 10px;
margin: 5px 0 5px 0;
border: 2px solid gray;
background: slategray;
width: 10px;
margin: 5px 0px 5px 0;
}
QScrollBar::handle:horizontal {
background: black;
min-width: 15px;
background: black;
min-width: 15px;
}
QScrollBar::handle:vertical {
background: black;
min-height: 15px;
background: black;
min-height: 15px;
}
QScrollBar::add-line:horizontal {
border: 2px solid gray;
background: blue;
width: 5px;
subcontrol-position: right;
subcontrol-origin: margin;
border: 2px solid gray;
background: blue;
width: 5px;
subcontrol-position: right;
subcontrol-origin: margin;
}
QScrollBar::sub-line:horizontal {
border: 2px solid gray;
background: blue;
width: 5px;
subcontrol-position: left;
subcontrol-origin: margin;
border: 2px solid gray;
background: blue;
width: 5px;
subcontrol-position: left;
subcontrol-origin: margin;
}
QScrollBar::add-line:vertical {
border: 2px solid gray;
background: blue;
height: 5px;
subcontrol-position: bottom;
subcontrol-origin: margin;
border: 2px solid gray;
background: blue;
height: 5px;
subcontrol-position: bottom;
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical {
border: 2px solid gray;
background: blue;
height: 5px;
subcontrol-position: top;
subcontrol-origin: margin;
border: 2px solid gray;
background: blue;
height: 5px;
subcontrol-position: top;
subcontrol-origin: margin;
}
QHeaderView::section {
border: 1px solid black;
background-color: darkslategray;
color: white; /** font **/
padding: 1px;
margin: 0px;
border: 1px solid black;
background-color: darkslategray;
color: white; /** font **/
padding: 1px;
margin: 0px;
}
QTableView {
border: 1px solid green;
border-radius: 5px;
background-color: transparent;
alternate-background-color: darkslategray;
selection-background-color: blue;
margin-left: 2px;
margin-right: 2px;
margin-top: 2px;
margin-bottom: 2px;
padding:0px;
border: 1px solid green;
border-radius: 5px;
background-color: transparent;
alternate-background-color: darkslategray;
selection-background-color: blue;
margin-left: 2px;
margin-right: 2px;
margin-top: 2px;
margin-bottom: 2px;
padding:0px;
}
QSlider::groove:horizontal {
border: 1px solid gray;
height: 4px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
background: darkslategray;
border: 1px solid gray;
height: 4px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
background: darkslategray;
}
QSlider::handle:horizontal {
background: lightgray;
border: 1px solid darkslategray;
width: 18px;
margin: -2px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
border-radius: 3px;
background: lightgray;
border: 1px solid darkslategray;
width: 18px;
margin: -2px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
border-radius: 3px;
}
QSizeGrip {
image: url(:/diagona/icons/diagona/icons/arrow-in-out.png);
width: 16px;
height: 16px;
image: url(:/diagona/icons/diagona/icons/arrow-in-out.png);
padding: 0px 20px 0px 0px;
width: 16px;
height: 16px;
}
QStatusBar {
background: transparent;
background: transparent;
}
QStatusBar::item {
border: none;
border: none;
}
QStatusBar QLabel {
border: none;
border: none;
}

View File

@@ -27,6 +27,8 @@ namespace BlackGui
{
Q_ASSERT(this->m_model);
this->m_model->setStationMode(stationMode);
this->m_withMenuItemClear = true;
this->m_withMenuItemRefresh = true;
switch (stationMode)
{

View File

@@ -23,6 +23,7 @@ namespace BlackGui
*/
CStatusMessageView::CStatusMessageView(QWidget *parent) : CViewBase(parent)
{
m_withMenuItemClear = true;
this->standardInit(new CStatusMessageListModel(this));
}

View File

@@ -49,9 +49,9 @@ namespace BlackGui
void CViewBaseNonTemplate::customMenu(QMenu &menu) const
{
menu.addAction(BlackMisc::CIcons::refresh16(), "Update", this, SIGNAL(requestUpdate()));
menu.addAction(BlackMisc::CIcons::delete16(), "Clear", this, SLOT(ps_clear()));
menu.addSeparator();
if (this->m_withMenuItemRefresh) { menu.addAction(BlackMisc::CIcons::refresh16(), "Update", this, SIGNAL(requestUpdate())); }
if (this->m_withMenuItemClear) { menu.addAction(BlackMisc::CIcons::delete16(), "Clear", this, SLOT(ps_clear())); }
if (!menu.isEmpty()) { menu.addSeparator(); }
menu.addAction(BlackMisc::CIcons::resize16(), "Full resize", this, SLOT(fullResizeToContents()));
// resize to content might decrease performance,

View File

@@ -117,6 +117,8 @@ namespace BlackGui
int m_skipResizeThreshold = 40; //!< when to skip resize (rows count)
int m_resizeAutoNthTime = 1; //!< with ResizeAuto, resize every n-th time
bool m_forceStretchLastColumnWhenResized = false; //!< a small table might (few columns) might to fail stretching, force again
bool m_withMenuItemClear = false;
bool m_withMenuItemRefresh = false;
protected slots:
//! Helper method with template free signature serving as callback from threaded worker

View File

@@ -90,7 +90,7 @@
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gl_CentralFrameInside">
<property name="leftMargin">
<number>0</number>
</property>