release 0.6.6
[fapman] / rotatingbackground.cpp
1 /*
2         This file is part of Faster Application Manager.
3
4         Faster Application Manager is free software: you can redistribute it and/or modify
5         it under the terms of the GNU General Public License as published by
6         the Free Software Foundation, either version 3 of the License, or
7         (at your option) any later version.
8
9         Faster Application Manager is distributed in the hope that it will be useful,
10         but WITHOUT ANY WARRANTY; without even the implied warranty of
11         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12         GNU General Public License for more details.
13
14         You should have received a copy of the GNU General Public License
15         along with Faster Application Manager.  If not, see <http://www.gnu.org/licenses/>.
16
17         (C) Heikki Holstila 2010
18 */
19
20 #include <QtGui>
21 #include "rotatingbackground.h"
22
23 RotatingBackground::RotatingBackground(QWidget *parent) :
24     QWidget(parent)
25 {
26         connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged()));
27 }
28
29 void RotatingBackground::loadWallpaper()
30 {
31         /*
32         QString loadfile = "/home/user/.backgrounds/background-1.png";
33         QFileInfo custombg("/root/.fapman/wallpaper.png");
34         bool custom = false;
35         if( custombg.exists() ) {
36                 loadfile = "/root/.fapman/wallpaper.png";
37                 custom = true;
38         }
39         */
40         QString loadfile = "/root/.fapman/wallpaper.png";
41
42         iWallpaperLandscape.load(loadfile);
43         if( !iWallpaperLandscape.isNull() ) {
44                 QTransform t;
45                 t.rotate(90);
46                 iWallpaperPortrait = iWallpaperLandscape.transformed(t);
47         }
48
49         /*
50         if( !custom && !iWallpaperLandscape.isNull() && !iWallpaperPortrait.isNull() )
51         {
52                 QPainter l( &iWallpaperLandscape );
53                 QPainter p( &iWallpaperPortrait );
54
55                 QColor dim("black");
56                 dim.setAlpha(170);
57                 l.setBrush(dim);
58                 l.setPen(dim);
59                 p.setBrush(dim);
60                 p.setPen(dim);
61
62                 l.drawRect( 0, 0, iWallpaperLandscape.rect().width(), iWallpaperLandscape.rect().height() );
63                 p.drawRect( 0, 0, iWallpaperPortrait.rect().width(), iWallpaperPortrait.rect().height() );
64         }
65         */
66 }
67
68 void RotatingBackground::paintEvent(QPaintEvent *)
69 {
70         QPainter painter(this);
71
72         painter.setPen( QApplication::palette().color(QPalette::Window) );
73         painter.setBrush( QApplication::palette().color(QPalette::Window) );
74         painter.drawRect(rect());
75
76         if( rect().width() > rect().height() ) {
77                 if( !iWallpaperLandscape.isNull() )
78                         painter.drawPixmap(0,0,rect().width(), rect().height(),iWallpaperLandscape);
79         } else {
80                 if( !iWallpaperPortrait.isNull() )
81                         painter.drawPixmap(0,0,rect().width(), rect().height(),iWallpaperPortrait);
82         }
83 }
84
85 void RotatingBackground::resizeEvent(QResizeEvent *)
86 {
87         this->resize( dynamic_cast<QWidget*>(parent())->size() );
88 }
89
90 void RotatingBackground::orientationChanged()
91 {
92         resizeEvent(0);
93 }