From 90a9a2f8f6028ff091b0b878955bad369eaffd3f Mon Sep 17 00:00:00 2001 From: Gokul Kartha Date: Tue, 16 Nov 2010 21:16:59 +0200 Subject: [PATCH] Initial Folder Structure Basic Application Files --- src/appwindow.cpp | 14 ++++++ src/appwindow.h | 14 ++++++ src/filterinterface.h | 17 +++++++ src/filtermanager.cpp | 5 ++ src/filtermanager.h | 17 +++++++ src/main.cpp | 11 +++++ src/mainwindow.cpp | 14 ++++++ src/mainwindow.h | 22 +++++++++ src/photoenahnacer.pro.user | 113 +++++++++++++++++++++++++++++++++++++++++++ src/sepiafilter.cpp | 30 ++++++++++++ src/sepiafilter.h | 13 +++++ src/welcome | 1 + src/workspace.cpp | 33 +++++++++++++ src/workspace.h | 25 ++++++++++ welcome | 1 - 15 files changed, 329 insertions(+), 1 deletion(-) create mode 100644 bin/photoenhancer create mode 100644 debian/changelog create mode 100644 src/appwindow.cpp create mode 100644 src/appwindow.h create mode 100644 src/filterinterface.h create mode 100644 src/filtermanager.cpp create mode 100644 src/filtermanager.h create mode 100644 src/main.cpp create mode 100644 src/mainwindow.cpp create mode 100644 src/mainwindow.h create mode 100644 src/photoenahnacer.pro.user create mode 100644 src/sepiafilter.cpp create mode 100644 src/sepiafilter.h create mode 100644 src/welcome create mode 100644 src/workspace.cpp create mode 100644 src/workspace.h delete mode 100644 welcome diff --git a/bin/photoenhancer b/bin/photoenhancer new file mode 100644 index 0000000..e69de29 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..e69de29 diff --git a/src/appwindow.cpp b/src/appwindow.cpp new file mode 100644 index 0000000..aa2718b --- /dev/null +++ b/src/appwindow.cpp @@ -0,0 +1,14 @@ +#include "appwindow.h" +#include "workspace.h" +#include +AppWindow::AppWindow() +{ + QDockWidget *dockWidget = new QDockWidget(tr("Workspace"), this); + dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | + Qt::RightDockWidgetArea); + + addDockWidget(Qt::LeftDockWidgetArea, dockWidget); + mWorkspace=new Workspace(); + dockWidget->setWidget(mWorkspace); +} + diff --git a/src/appwindow.h b/src/appwindow.h new file mode 100644 index 0000000..eac97f8 --- /dev/null +++ b/src/appwindow.h @@ -0,0 +1,14 @@ +#ifndef APPWINDOW_H +#define APPWINDOW_H +#include +class Workspace; +class AppWindow:public QMainWindow +{ +public: + AppWindow(); + +private: + Workspace *mWorkspace; +}; + +#endif // APPWINDOW_H diff --git a/src/filterinterface.h b/src/filterinterface.h new file mode 100644 index 0000000..59d25ce --- /dev/null +++ b/src/filterinterface.h @@ -0,0 +1,17 @@ +#ifndef FILTERINTERFACE_H +#define FILTERINTERFACE_H +#include +#include + +class FilterInterface:public QObject +{ +public: + FilterInterface() + { + + } + virtual void applyFilter(QImage &image)=0; + virtual void displayFilterConfig(){} +}; + +#endif // FILTERINTERFACE_H diff --git a/src/filtermanager.cpp b/src/filtermanager.cpp new file mode 100644 index 0000000..d290b4b --- /dev/null +++ b/src/filtermanager.cpp @@ -0,0 +1,5 @@ +#include "filtermanager.h" + +FilterManager::FilterManager() +{ +} diff --git a/src/filtermanager.h b/src/filtermanager.h new file mode 100644 index 0000000..1809e55 --- /dev/null +++ b/src/filtermanager.h @@ -0,0 +1,17 @@ +#ifndef FILTERMANAGER_H +#define FILTERMANAGER_H + +#include "filterinterface.h" +#include +#include + +class FilterManager:public QObject +{ +public: + FilterManager(); + void loadFilters(); +private: + QMap mFilters; +}; + +#endif // FILTERMANAGER_H diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..2edf9a0 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,11 @@ +#include +#include "appwindow.h" + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + AppWindow w; + w.show(); + + return a.exec(); +} diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp new file mode 100644 index 0000000..49d64fc --- /dev/null +++ b/src/mainwindow.cpp @@ -0,0 +1,14 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); +} + +MainWindow::~MainWindow() +{ + delete ui; +} diff --git a/src/mainwindow.h b/src/mainwindow.h new file mode 100644 index 0000000..c9fd6a9 --- /dev/null +++ b/src/mainwindow.h @@ -0,0 +1,22 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +namespace Ui { + class MainWindow; +} + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit MainWindow(QWidget *parent = 0); + ~MainWindow(); + +private: + Ui::MainWindow *ui; +}; + +#endif // MAINWINDOW_H diff --git a/src/photoenahnacer.pro.user b/src/photoenahnacer.pro.user new file mode 100644 index 0000000..266d04e --- /dev/null +++ b/src/photoenahnacer.pro.user @@ -0,0 +1,113 @@ + + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + System + + + + ProjectExplorer.Project.Target.0 + + Desktop + Qt4ProjectManager.Target.DesktopTarget + 0 + 0 + + + qmake + QtProjectManager.QMakeBuildStep + + + + Make + Qt4ProjectManager.MakeStep + false + + + + 2 + + Make + Qt4ProjectManager.MakeStep + true + + clean + + + + 1 + false + + Debug + Qt4ProjectManager.Qt4BuildConfiguration + 2 + /home/shakir/workspace/photoenahnacer-build-desktop + 2 + 0 + true + + + + qmake + QtProjectManager.QMakeBuildStep + + + + Make + Qt4ProjectManager.MakeStep + false + + + + 2 + + Make + Qt4ProjectManager.MakeStep + true + + clean + + + + 1 + false + + Release + Qt4ProjectManager.Qt4BuildConfiguration + 0 + /home/shakir/workspace/photoenahnacer-build-desktop + 2 + 0 + true + + 2 + + photoenahnacer + Qt4ProjectManager.Qt4RunConfiguration + 2 + + photoenahnacer.pro + false + false + + false + false + + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 4 + + diff --git a/src/sepiafilter.cpp b/src/sepiafilter.cpp new file mode 100644 index 0000000..ce240e4 --- /dev/null +++ b/src/sepiafilter.cpp @@ -0,0 +1,30 @@ +#include "sepiafilter.h" +#include +#include +#include +SepiaFilter::SepiaFilter() +{ +} +void SepiaFilter::applyFilter(QImage &image) +{ + int inputRed,inputGreen,inputBlue; + int outputRed,outputGreen,outputBlue; + + for(int i=0;i255) outputBlue=255; + if(outputGreen>255) outputGreen=255; + if(outputRed>255) outputRed=255; + QColor outPixel(outputRed,outputGreen,outputBlue); + image.setPixel(i,j,outPixel.rgb()); + } + +} diff --git a/src/sepiafilter.h b/src/sepiafilter.h new file mode 100644 index 0000000..05ca6e8 --- /dev/null +++ b/src/sepiafilter.h @@ -0,0 +1,13 @@ +#ifndef SEPIAFILTER_H +#define SEPIAFILTER_H + +#include "filterinterface.h" +class SepiaFilter:public FilterInterface +{ +public: + SepiaFilter(); + void applyFilter(QImage &image); + +}; + +#endif // SEPIAFILTER_H diff --git a/src/welcome b/src/welcome new file mode 100644 index 0000000..ba4c514 --- /dev/null +++ b/src/welcome @@ -0,0 +1 @@ +Welcome diff --git a/src/workspace.cpp b/src/workspace.cpp new file mode 100644 index 0000000..8901609 --- /dev/null +++ b/src/workspace.cpp @@ -0,0 +1,33 @@ +#include "workspace.h" +#include +#include "sepiafilter.h" +Workspace::Workspace(QWidget *parent) : + QWidget(parent) +{ + loadImage("/home/shakir/Desktop/Test/test1.jpg"); +} +void Workspace::loadImage(QString fileName) +{ + mImage=QImage(fileName); + SepiaFilter *filter=new SepiaFilter(); + filter->applyFilter(mImage); + +} +void Workspace::zoomIn() +{ + mImage=mImage.scaledToHeight(mImage.height()*1.5); + mImage=mImage.scaledToWidth(mImage.width()*1.5); + update(); +} +void Workspace::zoomOut() +{ + mImage=mImage.scaledToHeight(mImage.height()*0.5); + mImage=mImage.scaledToWidth(mImage.width()*0.5); + update(); +} + +void Workspace::paintEvent(QPaintEvent *p) +{ + QPainter painter(this); + painter.drawImage(mImage.rect(),mImage); +} diff --git a/src/workspace.h b/src/workspace.h new file mode 100644 index 0000000..4fcb21f --- /dev/null +++ b/src/workspace.h @@ -0,0 +1,25 @@ +#ifndef WORKSPACE_H +#define WORKSPACE_H + +#include + +class Workspace : public QWidget +{ + Q_OBJECT +public: + explicit Workspace(QWidget *parent = 0); + void loadImage(QString fileName); + virtual void paintEvent(QPaintEvent *); +signals: + + +public slots: + void zoomIn(); + void zoomOut(); + +private: + QImage mImage; + +}; + +#endif // WORKSPACE_H diff --git a/welcome b/welcome deleted file mode 100644 index ba4c514..0000000 --- a/welcome +++ /dev/null @@ -1 +0,0 @@ -Welcome -- 1.7.9.5