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