Просмотр исходного кода

Added automatic scroll area to MainWindow widget

Ivan Arkhipov 5 лет назад
Родитель
Сommit
5e0a3d3428
2 измененных файлов с 96 добавлено и 46 удалено
  1. 2 2
      src/Legacy-advanced/widgets/mainwindow.cpp
  2. 94 44
      src/Legacy-advanced/widgets/mainwindow.ui

+ 2 - 2
src/Legacy-advanced/widgets/mainwindow.cpp

@@ -63,7 +63,7 @@ MainWindow::MainWindow(QWidget *parent) :
     repaint();
 
     qDebug() << "Initialising background updates";
-    background_update_timer.setInterval(20 * 1000);
+    background_update_timer.setInterval(30 * 1000);
     connect(&background_update_timer, &QTimer::timeout, this, &MainWindow::randomChangeBackground);
     background_update_timer.start();
 
@@ -122,7 +122,7 @@ void MainWindow::randomChangeBackground()
     current_bg_id = next_pixmap_id;
 
     QtConcurrent::run([cur_bg, new_bg, this](){
-        const int iterations_num = 100;
+        const int iterations_num = 150;
         const int iteration_sleep = 75;
 
         for (int i = 0; i < iterations_num && qApp; i++) {

+ 94 - 44
src/Legacy-advanced/widgets/mainwindow.ui

@@ -42,47 +42,10 @@
     <bool>false</bool>
    </property>
    <property name="styleSheet">
-    <string notr="true">border-image: url(:/assets/backgrounds/bg1.png);</string>
+    <string notr="true">QWidget#centralWidget{
+border-image: url(:/backgrounds/bg1.png);
+}</string>
    </property>
-   <widget class="QWidget" name="content_area" native="true">
-    <property name="geometry">
-     <rect>
-      <x>0</x>
-      <y>129</y>
-      <width>901</width>
-      <height>501</height>
-     </rect>
-    </property>
-    <property name="sizePolicy">
-     <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
-      <horstretch>0</horstretch>
-      <verstretch>0</verstretch>
-     </sizepolicy>
-    </property>
-    <property name="autoFillBackground">
-     <bool>false</bool>
-    </property>
-    <property name="styleSheet">
-     <string notr="true">border-image:none;</string>
-    </property>
-    <layout class="QGridLayout" name="gridLayout_3">
-     <property name="leftMargin">
-      <number>20</number>
-     </property>
-     <property name="topMargin">
-      <number>10</number>
-     </property>
-     <property name="rightMargin">
-      <number>20</number>
-     </property>
-     <property name="bottomMargin">
-      <number>10</number>
-     </property>
-     <item row="0" column="0">
-      <layout class="QGridLayout" name="content_layout"/>
-     </item>
-    </layout>
-   </widget>
    <widget class="QWidget" name="menu_widget" native="true">
     <property name="geometry">
      <rect>
@@ -350,9 +313,9 @@
            </size>
           </property>
           <property name="styleSheet">
-           <string notr="true">QPushButton#minimizeButton {border-image: url(:/assets/buttons/minimize.png) 0 0 0 0 stretch stretch; border: 0px;}
+           <string notr="true">QPushButton#minimizeButton {border-image: url(:/buttons/minimize.png) 0 0 0 0 stretch stretch; border: 0px;}
 
-QPushButton#minimizeButton:hover {border-image: url(:/assets/buttons/minimize.png) 0 0 0 0 stretch stretch; border: 1px;}
+QPushButton#minimizeButton:hover {border-image: url(:/buttons/minimize.png) 0 0 0 0 stretch stretch; border: 1px;}
 
 </string>
           </property>
@@ -370,9 +333,9 @@ QPushButton#minimizeButton:hover {border-image: url(:/assets/buttons/minimize.pn
            </size>
           </property>
           <property name="styleSheet">
-           <string notr="true">QPushButton#closeButton { border-image: url(:/assets/buttons/close.png) 0 0 0 0 stretch stretch; }
+           <string notr="true">QPushButton#closeButton { border-image: url(:/buttons/close.png) 0 0 0 0 stretch stretch; }
 
-QPushButton#closeButton:hover { border-image: url(:/assets/buttons/close.png) 0 0 0 0 stretch stretch; border:1px;}</string>
+QPushButton#closeButton:hover { border-image: url(:/buttons/close.png) 0 0 0 0 stretch stretch; border:1px;}</string>
           </property>
           <property name="text">
            <string>Х</string>
@@ -384,6 +347,93 @@ QPushButton#closeButton:hover { border-image: url(:/assets/buttons/close.png) 0
      </item>
     </layout>
    </widget>
+   <widget class="QScrollArea" name="content_area">
+    <property name="geometry">
+     <rect>
+      <x>0</x>
+      <y>129</y>
+      <width>901</width>
+      <height>521</height>
+     </rect>
+    </property>
+    <property name="styleSheet">
+     <string notr="true">QScrollArea{
+background-color: transparent;
+background-image: none;
+border: 0;
+}
+QScrollBar:vertical {
+     border: 0px solid grey;
+     background: transparent;
+     width: 10px;
+     margin: 22px 0 22px 0;
+ }
+
+ QScrollBar::handle:vertical {
+	background-color: rgba(129, 129, 129, 150);	
+    min-height: 10px;
+	border-radius: 5px;
+ }
+ QScrollBar::add-line:vertical {
+     border: 0px solid grey;
+     background: transparent;
+     height: 1px;
+     subcontrol-position: bottom;
+     subcontrol-origin: margin;
+ }
+
+ QScrollBar::sub-line:vertical {
+     border: 0px solid grey;
+     background: transparent;
+     height: 1px;
+     subcontrol-position: top;
+     subcontrol-origin: margin;
+ }
+ QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {
+     border: 0px;
+     width: 3px;
+     height: 3px;
+     background: transparent;
+ }
+
+ QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
+     background: none;
+ }</string>
+    </property>
+    <property name="lineWidth">
+     <number>0</number>
+    </property>
+    <property name="widgetResizable">
+     <bool>true</bool>
+    </property>
+    <widget class="QWidget" name="content_area_layout">
+     <property name="geometry">
+      <rect>
+       <x>0</x>
+       <y>0</y>
+       <width>901</width>
+       <height>521</height>
+      </rect>
+     </property>
+     <property name="styleSheet">
+      <string notr="true">QWidget#content_area_layout{\nborder:none;background: transparent;\n}</string>
+     </property>
+     <layout class="QGridLayout" name="content_layout">
+      <property name="leftMargin">
+       <number>11</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>11</number>
+      </property>
+      <property name="bottomMargin">
+       <number>11</number>
+      </property>
+     </layout>
+    </widget>
+   </widget>
   </widget>
  </widget>
  <layoutdefault spacing="6" margin="11"/>