Ui: support portrait mode
This commit is contained in:
parent
061c57ef51
commit
348fb15508
@ -12,6 +12,9 @@
|
|||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
|
|
||||||
|
#include <QScreen>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MainWindow::MainWindow(Worker *worker, QWidget *parent)
|
MainWindow::MainWindow(Worker *worker, QWidget *parent)
|
||||||
: QMainWindow(parent)
|
: QMainWindow(parent)
|
||||||
@ -30,6 +33,7 @@ MainWindow::MainWindow(Worker *worker, QWidget *parent)
|
|||||||
this->statusBar()->setFont(f);
|
this->statusBar()->setFont(f);
|
||||||
|
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
checkOrientation();
|
||||||
|
|
||||||
ui->updateProgress->setRange(0, 100);
|
ui->updateProgress->setRange(0, 100);
|
||||||
ui->updateProgress->reset();
|
ui->updateProgress->reset();
|
||||||
@ -98,6 +102,56 @@ MainWindow::~MainWindow() {
|
|||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------- Ui::LAYOUT setting -------------------------------------
|
||||||
|
|
||||||
|
void MainWindow::checkOrientation()
|
||||||
|
{
|
||||||
|
QScreen *screen = QGuiApplication::primaryScreen();
|
||||||
|
Qt::ScreenOrientation orientation = screen->orientation();
|
||||||
|
|
||||||
|
switch (orientation) {
|
||||||
|
case Qt::PrimaryOrientation:
|
||||||
|
this->setLandscapeLayout();
|
||||||
|
break;
|
||||||
|
case Qt::LandscapeOrientation:
|
||||||
|
this->setLandscapeLayout();
|
||||||
|
break;
|
||||||
|
case Qt::PortraitOrientation:
|
||||||
|
this->setPortraitLayout();
|
||||||
|
break;
|
||||||
|
case Qt::InvertedLandscapeOrientation:
|
||||||
|
this->setLandscapeLayout();
|
||||||
|
break;
|
||||||
|
case Qt::InvertedPortraitOrientation:
|
||||||
|
this->setPortraitLayout();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
this->currentOrientation = orientation;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void MainWindow::setPortraitLayout()
|
||||||
|
{
|
||||||
|
// Adjust layout for portrait mode (480x800)
|
||||||
|
this->setFixedSize(480, 800);
|
||||||
|
ui->centralwidget->setFixedSize(480, 800);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::setLandscapeLayout()
|
||||||
|
{
|
||||||
|
// Adjust layout for landscape mode (800x480)
|
||||||
|
this->setFixedSize(800, 480);
|
||||||
|
ui->centralwidget->setFixedSize(800, 480);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::customEvent(QEvent *event) {
|
void MainWindow::customEvent(QEvent *event) {
|
||||||
if (event->type() == ProgressEvent::type()) {
|
if (event->type() == ProgressEvent::type()) {
|
||||||
ProgressEvent *pevent = (ProgressEvent *)event;
|
ProgressEvent *pevent = (ProgressEvent *)event;
|
||||||
|
@ -66,6 +66,12 @@ private:
|
|||||||
void onShowMessage(QString, QString);
|
void onShowMessage(QString, QString);
|
||||||
|
|
||||||
Ui::MainWindow *ui;
|
Ui::MainWindow *ui;
|
||||||
|
void checkOrientation();
|
||||||
|
void setPortraitLayout();
|
||||||
|
void setLandscapeLayout();
|
||||||
|
Qt::ScreenOrientation currentOrientation;
|
||||||
|
|
||||||
|
|
||||||
Worker *m_worker;
|
Worker *m_worker;
|
||||||
int const m_width;
|
int const m_width;
|
||||||
QTimer *m_startTimer;
|
QTimer *m_startTimer;
|
||||||
|
@ -10,6 +10,12 @@
|
|||||||
<height>480</height>
|
<height>480</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>480</width>
|
||||||
|
<height>480</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
<font>
|
<font>
|
||||||
<family>Source Code Pro</family>
|
<family>Source Code Pro</family>
|
||||||
@ -19,15 +25,8 @@
|
|||||||
<string>MainWindow</string>
|
<string>MainWindow</string>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="centralwidget">
|
<widget class="QWidget" name="centralwidget">
|
||||||
<widget class="QWidget" name="layoutWidget">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<property name="geometry">
|
<item>
|
||||||
<rect>
|
|
||||||
<x>10</x>
|
|
||||||
<y>10</y>
|
|
||||||
<width>781</width>
|
|
||||||
<height>441</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="3" column="2">
|
<item row="3" column="2">
|
||||||
<widget class="QPushButton" name="exit">
|
<widget class="QPushButton" name="exit">
|
||||||
@ -52,6 +51,7 @@
|
|||||||
<font>
|
<font>
|
||||||
<family>Misc Fixed</family>
|
<family>Misc Fixed</family>
|
||||||
<pointsize>11</pointsize>
|
<pointsize>11</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
<bold>true</bold>
|
<bold>true</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
@ -61,13 +61,11 @@
|
|||||||
<property name="horizontalScrollBarPolicy">
|
<property name="horizontalScrollBarPolicy">
|
||||||
<enum>Qt::ScrollBarAsNeeded</enum>
|
<enum>Qt::ScrollBarAsNeeded</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeAdjustPolicy">
|
|
||||||
<enum>QAbstractScrollArea::AdjustToContents</enum>
|
|
||||||
</property>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user