#include "locationdialog.h"
#include "ui_locationdialog.h"
+#include "uiutils.h"
+
+#include <QDesktopWidget>
LocationDialog::LocationDialog(QWidget *parent) :
QDialog(parent),
_location_buttons.append(ui->Location3);
_location_buttons.append(ui->Location4);
_location_buttons.append(ui->Location5);
+ connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(Rotate()));
+ Rotate();
}
LocationDialog::~LocationDialog()
void LocationDialog::show()
{
+ bool landscape = UiUtils::IsLandscape();
ui->gridLayout->removeWidget(ui->GPS);
for (int i = 0; i < _location_buttons.size(); ++i) {
ui->gridLayout->removeWidget(_location_buttons[i]);
if (ui->GPS->isEnabled()) {
ui->gridLayout->addWidget(ui->GPS, row, column);
++column;
+ if (column > (landscape ? 1 : 0)) {
+ ++row;
+ column = 0;
+ }
}
for (int i = 0; i < _location_buttons.size(); ++i) {
if (_location_buttons[i]->isEnabled()) {
ui->gridLayout->addWidget(_location_buttons[i], row, column);
++column;
- if (column > 1) {
+ if (column > (landscape ? 1 : 0)) {
++row;
column = 0;
}
break;
}
}
+
+void LocationDialog::Rotate()
+{
+ bool landscape = UiUtils::IsLandscape();
+ ui->_search_layout->setDirection(landscape ? QBoxLayout::LeftToRight : QBoxLayout::TopToBottom);
+ ui->_button_box->setOrientation(landscape ? Qt::Vertical : Qt::Horizontal);
+ if (isVisible()) {
+ show();
+ }
+}