const QString USER_UNSEND_MESSAGE_PUBLISH = "UNSEND_MESSAGE_PUBLISH_POLICITY";
// Misc values
-const int DEFAULT_SCREEN_WIDTH = 800; ///< Default N900 screen width
-const int DEFAULT_SCREEN_HEIGHT = 480; ///< Default N900 screen height
-const int SCREEN_HEIGHT_DIFFERENCE = 56; ///< Difference between fullscreen height and non fs
+const int DEFAULT_SCREEN_WIDTH = 800; ///< Default N900 screen width
+const int DEFAULT_SCREEN_HEIGHT = 480; ///< Default N900 screen height
+const int DEFAULT_NON_FULLSCREEN_HEIGHT = 424; ///< Default M900 non-fullscreen height
const QColor COLOR_GRAY = QColor(152, 152, 152); ///< Gray color
const QFont NOKIA_FONT_NORMAL = QFont("Nokia Sans", 18, QFont::Normal); ///< Normal font
setFixedSize(BUTTON_WIDTH, BUTTON_HEIGHT);
QSettings settings(DIRECTORY_NAME, FILE_NAME);
- move(settings.value(DIRECTION_INDICATOR_BUTTON_POSITION,
- QPoint(DIRECTION_INDICATOR_POSITION_X,
- DIRECTION_INDICATOR_POSITION_Y)).toPoint());
+ QPoint savedLocation = settings.value(DIRECTION_INDICATOR_BUTTON_POSITION,
+ QPoint(DIRECTION_INDICATOR_POSITION_X,
+ DIRECTION_INDICATOR_POSITION_Y)).toPoint();
+
+ if(savedLocation.x() > DEFAULT_SCREEN_WIDTH || savedLocation.y() > DEFAULT_SCREEN_HEIGHT) {
+ savedLocation.rx() = DIRECTION_INDICATOR_POSITION_X;
+ savedLocation.ry() = DIRECTION_INDICATOR_POSITION_Y;
+ }
+
+ move(savedLocation);
// Normal background
m_normalColor = new QColor(Qt::black);
{
qDebug() << __PRETTY_FUNCTION__;
- m_screenSize = newSize;
+ int oldHeight = 0;
+ int oldWidth = 0;
- QPoint resizedPosition = pos();
+ if(m_screenSize.height() < 0)
+ oldHeight = DEFAULT_NON_FULLSCREEN_HEIGHT;
+ else
+ oldHeight = m_screenSize.height();
-#ifdef Q_WS_MAEMO_5
- if(newSize.height() < DEFAULT_SCREEN_HEIGHT)
- resizedPosition.ry() -= SCREEN_HEIGHT_DIFFERENCE;
+ if(m_screenSize.width() < 0)
+ oldWidth = DEFAULT_SCREEN_WIDTH;
else
- resizedPosition.ry() += SCREEN_HEIGHT_DIFFERENCE;
-#endif // Q_WS_MAEMO_5
+ oldWidth = m_screenSize.width();
+
+ m_screenSize = newSize;
+
+ QPoint resizedPosition = pos();
+ if(resizedPosition.x() > (newSize.width() - rect().width()))
+ resizedPosition.rx() = newSize.width() - rect().width();
+ else if (resizedPosition.x() < SIDEBAR_WIDTH)
+ resizedPosition.rx() = SIDEBAR_WIDTH;
+ if(resizedPosition.y() > (newSize.height() - rect().height()))
+ resizedPosition.ry() = newSize.height() - rect().height();
+ else if (resizedPosition.y() < 0)
+ resizedPosition.ry() = 0;
+
+ if((pos().y() + rect().center().y()) > (oldHeight/2))
+ resizedPosition.ry() = newSize.height() - (oldHeight - pos().y());
+
+ if((pos().x() + rect().center().x()) > (oldWidth/2))
+ resizedPosition.rx() = newSize.width() - (oldWidth - pos().x());
move(resizedPosition);
}
m_panelLayout.addWidget(m_zoomOutButton, 1, 0);
QSettings settings(DIRECTORY_NAME, FILE_NAME);
- move(settings.value(ZOOMPANEL_POSITION,
- QPoint(ZOOM_BUTTON_PANEL_POSITION_X,
- ZOOM_BUTTON_PANEL_POSITION_Y)).toPoint());
+ QPoint savedLocation = settings.value(ZOOMPANEL_POSITION,
+ QPoint(ZOOM_BUTTON_PANEL_POSITION_X,
+ ZOOM_BUTTON_PANEL_POSITION_Y)).toPoint();
+
+ if(savedLocation.x() > DEFAULT_SCREEN_WIDTH || savedLocation.y() > DEFAULT_SCREEN_HEIGHT) {
+ savedLocation.rx() = ZOOM_BUTTON_PANEL_POSITION_X;
+ savedLocation.ry() = ZOOM_BUTTON_PANEL_POSITION_Y;
+ }
+
+ move(savedLocation);
m_dragStartTimer = new QTimer(this);
m_dragStartTimer->setSingleShot(true);
{
qDebug() << __PRETTY_FUNCTION__;
+ int oldHeight = 0;
+ int oldWidth = 0;
+
+ if(m_screenSize.height() < 0)
+ oldHeight = DEFAULT_NON_FULLSCREEN_HEIGHT;
+ else
+ oldHeight = m_screenSize.height();
+
+ if(m_screenSize.width() < 0)
+ oldWidth = DEFAULT_SCREEN_WIDTH;
+ else
+ oldWidth = m_screenSize.width();
+
m_screenSize = newSize;
QPoint resizedPosition = pos();
-
- if (resizedPosition.x() < SIDEBAR_WIDTH)
- resizedPosition.rx() = SIDEBAR_WIDTH;
- else if(resizedPosition.x() > (newSize.width() - rect().width()))
+ if(resizedPosition.x() > (newSize.width() - rect().width()))
resizedPosition.rx() = newSize.width() - rect().width();
-
+ else if (resizedPosition.x() < SIDEBAR_WIDTH)
+ resizedPosition.rx() = SIDEBAR_WIDTH;
if(resizedPosition.y() > (newSize.height() - rect().height()))
resizedPosition.ry() = newSize.height() - rect().height();
else if (resizedPosition.y() < 0)
resizedPosition.ry() = 0;
+ if((pos().y() + rect().center().y()) > (oldHeight/2))
+ resizedPosition.ry() = newSize.height() - (oldHeight - pos().y());
+
+ if((pos().x() + rect().center().x()) > (oldWidth/2))
+ resizedPosition.rx() = newSize.width() - (oldWidth - pos().x());
+
move(resizedPosition);
}