Done ! Testing and not working :)
[photoenhancer] / src / app / x11 / appwindow.cpp
1 #include "appwindow.h"
2 #include "workspace.h"
3 #include "filterloader.h"
4
5 #include <QDockWidget>
6 #include <QToolBar>
7 #include <QFileDialog>
8 #include <QDockWidget>
9 #include <QMenuBar>
10
11
12
13 AppWindow::AppWindow(QWidget *parent):QMainWindow(parent)
14 {
15     //Creates the workspace objec
16     mWorkspace=new Workspace();
17
18     //Creates the Filter Handler Object and Connect the Signals
19  //   mFilterHandle=new FilterLoader(this);
20  //   connect(mFilterHandle,SIGNAL(filterReady(QString,QString)),this,SLOT(onFilterReady(QString,QString)));
21   //  mFilterHandle->loadFilters();
22
23     //Temporary
24     QDockWidget *dockWidget = new QDockWidget(tr("Dock Widget"), this);
25     dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
26     dockWidget->setWidget(mWorkspace);
27     addDockWidget(Qt::BottomDockWidgetArea, dockWidget);
28     setCentralWidget(dockWidget);
29     //Imple Over
30     //UI Definion
31     createActions();
32     createMenus();
33     createToolBars();
34     createStatusBar();
35     readSettings();
36 }
37
38  void AppWindow::newFile()
39  {
40
41  }
42
43  void AppWindow::open()
44  {
45     QString fileName=QFileDialog::getOpenFileName(this,tr("Open Image"), "/home/everyourgokul/Desktop/", tr("Image Files (*.png *.jpg *.bmp)"));
46     mWorkspace->loadImage(fileName);
47  }
48
49  void AppWindow::onFilterReady(QString name,QString id)
50  {
51     //here we need to add the name into the filters menu
52
53  }
54
55  bool AppWindow::save()
56  {
57
58  }
59
60  bool AppWindow::saveAs()
61  {
62
63  }
64
65  void AppWindow::createActions()
66  {
67      newAct = new QAction(QIcon(":/images/new.png"), tr("&New"), this);
68      newAct->setShortcuts(QKeySequence::New);
69      newAct->setStatusTip(tr("Create a new file"));
70      connect(newAct, SIGNAL(triggered()), this, SLOT(newFile()));
71
72      openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this);
73      openAct->setShortcuts(QKeySequence::Open);
74      openAct->setStatusTip(tr("Open an existing file"));
75      connect(openAct, SIGNAL(triggered()), this, SLOT(open()));
76
77      saveAct = new QAction(QIcon(":/images/save.png"), tr("&Save"), this);
78      saveAct->setShortcuts(QKeySequence::Save);
79      saveAct->setStatusTip(tr("Save the document to disk"));
80      connect(saveAct, SIGNAL(triggered()), this, SLOT(save()));
81
82      saveAsAct = new QAction(tr("Save &As..."), this);
83      saveAsAct->setShortcuts(QKeySequence::SaveAs);
84      saveAsAct->setStatusTip(tr("Save the document under a new name"));
85      connect(saveAsAct, SIGNAL(triggered()), this, SLOT(saveAs()));
86
87      exitAct = new QAction(tr("E&xit"), this);
88      exitAct->setShortcuts(QKeySequence::Quit);
89      exitAct->setStatusTip(tr("Exit the application"));
90      connect(exitAct, SIGNAL(triggered()), this, SLOT(close()));
91
92
93      menuBar()->addSeparator();
94
95  }
96
97  void AppWindow::createToolBars()
98  {
99      fileToolBar = addToolBar(tr("File"));
100      fileToolBar->addAction(newAct);
101      fileToolBar->addAction(openAct);
102      fileToolBar->addAction(saveAct);
103
104
105  }
106
107  void AppWindow::createStatusBar()
108  {
109      statusBar()->showMessage(tr("Ready"));
110  }
111
112  void AppWindow::readSettings()
113  {
114
115  }
116
117  void AppWindow::writeSettings()
118  {
119
120  }
121
122  bool AppWindow::maybeSave()
123  {
124
125      return true;
126  }
127
128
129  void AppWindow::createMenus()
130  {
131     fileMenu = menuBar()->addMenu(tr("&File"));
132     fileMenu->addAction(newAct);
133     fileMenu->addAction(openAct);
134     fileMenu->addAction(saveAct);
135     fileMenu->addAction(saveAsAct);
136     fileMenu->addSeparator();
137     fileMenu->addAction(exitAct);
138  }