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);
}