Until we get a on screen display or async shader loading, we should at least have some measure of progress in the meantime. This is 90% a port from the loading screen I made for yuzu, but with a slightly different changed detection for when to display the ETA. Now we keep track of a rolling estimate for shader load ETA and only display a ETA if its going to take longer than 10 seconds.
189 lines
5.4 KiB
XML
189 lines
5.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>LoadingScreen</class>
|
|
<widget class="QWidget" name="LoadingScreen">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>746</width>
|
|
<height>495</height>
|
|
</rect>
|
|
</property>
|
|
<property name="styleSheet">
|
|
<string notr="true">background-color: rgb(0, 0, 0);</string>
|
|
</property>
|
|
<layout class="QVBoxLayout">
|
|
<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="QWidget" name="fade_parent" native="true">
|
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
<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>
|
|
<layout class="QVBoxLayout" name="verticalLayout" stretch="0,0,0,1,0,1,0">
|
|
<property name="spacing">
|
|
<number>15</number>
|
|
</property>
|
|
<property name="sizeConstraint">
|
|
<enum>QLayout::SetNoConstraint</enum>
|
|
</property>
|
|
<item>
|
|
<spacer name="verticalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="icon">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignBottom|Qt::AlignHCenter</set>
|
|
</property>
|
|
<property name="margin">
|
|
<number>5</number>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QLabel" name="title">
|
|
<property name="styleSheet">
|
|
<string notr="true">background-color: black; color: white;
|
|
font: 75 20pt "Arial";</string>
|
|
</property>
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="alignment">
|
|
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item alignment="Qt::AlignHCenter|Qt::AlignBottom">
|
|
<widget class="QLabel" name="stage">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="styleSheet">
|
|
<string notr="true">background-color: black; color: white;
|
|
font: 75 20pt "Arial";</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Loading Shaders 387 / 1628</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item alignment="Qt::AlignHCenter|Qt::AlignTop">
|
|
<widget class="QProgressBar" name="progress_bar">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>500</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
<property name="styleSheet">
|
|
<string notr="true">QProgressBar {
|
|
color: white;
|
|
border: 2px solid white;
|
|
outline-color: black;
|
|
border-radius: 20px;
|
|
}
|
|
QProgressBar::chunk {
|
|
background-color: white;
|
|
border-radius: 15px;
|
|
}</string>
|
|
</property>
|
|
<property name="value">
|
|
<number>50</number>
|
|
</property>
|
|
<property name="textVisible">
|
|
<bool>false</bool>
|
|
</property>
|
|
<property name="format">
|
|
<string>Loading Shaders %v out of %m</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item alignment="Qt::AlignHCenter|Qt::AlignTop">
|
|
<widget class="QLabel" name="value">
|
|
<property name="toolTip">
|
|
<string notr="true"/>
|
|
</property>
|
|
<property name="styleSheet">
|
|
<string notr="true">background-color: black; color: white;
|
|
font: 75 15pt "Arial";</string>
|
|
</property>
|
|
<property name="text">
|
|
<string>Estimated Time 5m 4s</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources/>
|
|
<connections/>
|
|
</ui>
|