only include Applications by default on OS X
[ambit.git] / src / mainwindow.h
blobb37ec2307747291343ac5d6c5dfbd8d09e5d6b4a
1 /**
2 * Copyright (C) 2007 Benjamin C. Meyer
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version 2
7 * of the License, or (at your option) any later version.
9 * This program 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.
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 #ifndef MAINWINDOW_H
20 #define MAINWINDOW_H
22 #include <qmainwindow.h>
23 #include <qabstractitemmodel.h>
25 class QSidebar;
26 class View;
27 class QSplitter;
29 class QToolBar;
30 class QAbstractItemView;
31 class QActionGroup;
32 class QMenuBar;
33 class History;
34 class QLabel;
35 class QFileSystemModel;
37 class MainWindow : public QMainWindow
40 Q_OBJECT
42 public:
43 MainWindow(QWidget *parent = 0);
44 ~MainWindow();
46 public slots:
47 void setRootIndex(const QModelIndex &index);
48 void goUp();
49 void showAbout();
51 private slots:
52 void showView(QAction *action);
53 void arrangeBy(QAction *action);
55 private:
56 void createMenu();
57 void createActions();
58 void createToolBar();
59 void createWidgets();
61 QFileSystemModel *model;
63 QSplitter *splitter;
64 QSidebar *sidebar;
65 View *view;
67 QActionGroup *viewActionsGroup;
68 QActionGroup *historyActionsGroup;
69 QActionGroup *arrangeByActionGroup;
70 QToolBar *toolBar;
71 QLabel *statusBarLabel;
73 QMenu *fileMenu;
74 QMenu *editMenu;
75 QMenu *viewMenu;
76 QMenu *goMenu;
77 QMenu *windowMenu;
78 QMenu *helpMenu;
80 QAction *fileOpenAction;
81 QAction *fileCloseAction;
82 QAction *fileQuitAction;
83 QAction *backAction;
84 QAction *forwardAction;
85 QAction *goUpAction;
86 QAction *minimizeWindowAction;
87 QAction *about;
90 #endif // MAINWINDOW_H