code cleanup
[fapman] / repoview.h
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 #ifndef REPOVIEW_H
21 #define REPOVIEW_H
22
23 #include <QtGui>
24
25 class MainWindow;
26 class AAptInterface;
27
28 namespace Ui {
29     class RepoView;
30 }
31
32 class RepoView : public QMainWindow
33 {
34     Q_OBJECT
35
36 public:
37     explicit RepoView(QWidget *parent = 0);
38         virtual ~RepoView();
39
40         void setAptInterface(AAptInterface* a_) { iAptInterface = a_; }
41         void openWin();
42         void closeEvent(QCloseEvent *event);
43
44 #ifdef Q_WS_MAEMO_5             // workaround for buggy Qt autorotation
45         void show() {
46                 if( !isVisible() ) {
47                         QRect r = dynamic_cast<QMainWindow*>(this->parent())->rect();
48                         if(r.width() < r.height())
49                                 this->setAttribute(Qt::WA_Maemo5PortraitOrientation);
50                         else {
51                                 if( dynamic_cast<QMainWindow*>(this->parent())->testAttribute( Qt::WA_Maemo5AutoOrientation ) )
52                                         this->setAttribute( Qt::WA_Maemo5AutoOrientation );
53                                 else
54                                         this->setAttribute( Qt::WA_Maemo5LandscapeOrientation );
55                         }
56                         this->setAttribute(Qt::WA_Maemo5StackedWindow);
57                         this->setWindowFlags(Qt::Window);
58                 }
59                 QMainWindow::show();
60         }
61 #endif
62
63
64 protected:
65     void changeEvent(QEvent *e);
66
67 private:
68         RepoView(const RepoView& old);
69         RepoView operator= (const RepoView& old);
70
71     Ui::RepoView *ui;
72         bool iModified;
73
74         MainWindow* iMainWindow;
75         AAptInterface* iAptInterface;
76
77 private slots:
78         void on_listWidget_itemClicked(QListWidgetItem* item);
79         void on_btnNew_clicked();
80 };
81
82 #endif // REPOVIEW_H