442fd4031d624a39781cc90ce8254fdd9a91c7a4
[situare] / src / ui / panelsidebar.cpp
1  /*
2     Situare - A location system for Facebook
3     Copyright (C) 2010  Ixonos Plc. Authors:
4
5         Kaj Wallin - kaj.wallin@ixonos.com
6
7     Situare is free software; you can redistribute it and/or
8     modify it under the terms of the GNU General Public License
9     version 2 as published by the Free Software Foundation.
10
11     Situare is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with Situare; if not, write to the Free Software
18     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301,
19     USA.
20  */
21
22 #include <QtGui>
23 #include "panelsidebar.h"
24 #include "panelcommon.h"
25
26 PanelSideBar::PanelSideBar(QWidget *parent, Side side)
27     : QWidget(parent)
28 {
29     if (side == LEFT) {
30         setObjectName("SidePanelLeft");
31         setStyleSheet(QString(
32                 "#SidePanelLeft{background-image: url(:/res/images/side_bar_left.png)}"));
33         move(QPoint(USERPANEL_OPENED_X, PANEL_TOP_Y));
34     }
35     else if (side == RIGHT){
36         setObjectName("SidePanelRight");
37         setStyleSheet(QString(
38                 "#SidePanelRight{background-image: url(:/res/images/side_bar_right.png)}"));
39         move(QPoint(DEFAULT_SCREEN_WIDTH - SIDEBAR_WIDTH + MARGIN_CORRECTION2, PANEL_TOP_Y));
40     }
41     else {
42         qFatal("Illegal PanelSideBar 2nd argument");
43     }
44     resize(SIDEBAR_WIDTH, SIDEBAR_HEIGHT);
45     setAttribute(Qt::WA_TransparentForMouseEvents, true);
46 }
47
48 void PanelSideBar::paintEvent(QPaintEvent *)
49 {
50     qDebug() << __PRETTY_FUNCTION__;
51
52     QStyleOption option;
53     option.init(this);
54
55     QStylePainter painter(this);
56     style()->drawPrimitive(QStyle::PE_Widget, &option, &painter, this);
57 }
58
59 void PanelSideBar::reDrawSidebar(const QSize &size)
60 {
61     qDebug() << __PRETTY_FUNCTION__;
62     if (objectName() == "SidePanelRight") {
63         move(size.width() - SIDEBAR_WIDTH + MARGIN_CORRECTION2, PANEL_TOP_Y);
64     }
65 }