# HG changeset patch # User Jacob Dawid # Date 1302798087 -7200 # Node ID 1146953baa378bbb58249b12ed526e0868dde393 # Parent 6deb6df169866d12648158ef6594821a045428be Added image viewer. diff --git a/gui//Quint.pro b/gui//Quint.pro --- a/gui//Quint.pro +++ b/gui//Quint.pro @@ -47,7 +47,8 @@ src/SyntaxHighlighter.cpp \ src/BrowserWidget.cpp \ src/NumberedCodeEdit.cpp \ - src/SimpleEditor.cpp + src/SimpleEditor.cpp \ + src/ImageViewerMdiSubWindow.cpp HEADERS += \ src/TerminalCharacterDecoder.h \ @@ -91,7 +92,8 @@ src/SyntaxHighlighter.h \ src/BrowserWidget.h \ src/NumberedCodeEdit.h \ - src/SimpleEditor.h + src/SimpleEditor.h \ + src/ImageViewerMdiSubWindow.h INCFLAGS = -g3 $$system(mkoctfile -p INCFLAGS) LFLAGS = $$system(mkoctfile -p LFLAGS) \ diff --git a/gui//src/ImageViewerMdiSubWindow.cpp b/gui//src/ImageViewerMdiSubWindow.cpp new file mode 100644 --- /dev/null +++ b/gui//src/ImageViewerMdiSubWindow.cpp @@ -0,0 +1,24 @@ +#include "ImageViewerMdiSubWindow.h" +#include +#include +#include + +ImageViewerMdiSubWindow::ImageViewerMdiSubWindow(QPixmap pixmap, QWidget *parent) + : QMdiSubWindow(parent), + m_pixmap(pixmap) { + setWindowTitle("Picture"); + construct(); +} + +void ImageViewerMdiSubWindow::construct() { + QLabel *label = new QLabel(); + label->setBackgroundRole(QPalette::Base); + label->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); + label->setScaledContents(true); + label->setPixmap(m_pixmap); + + QScrollArea *scrollArea = new QScrollArea(this); + scrollArea->setBackgroundRole(QPalette::Dark); + scrollArea->setWidget(label); + setWidget(scrollArea); +} diff --git a/gui//src/ImageViewerMdiSubWindow.h b/gui//src/ImageViewerMdiSubWindow.h new file mode 100644 --- /dev/null +++ b/gui//src/ImageViewerMdiSubWindow.h @@ -0,0 +1,16 @@ +#ifndef IMAGEVIEWERMDISUBWINDOW_H +#define IMAGEVIEWERMDISUBWINDOW_H + +#include + +class ImageViewerMdiSubWindow : public QMdiSubWindow +{ +public: + ImageViewerMdiSubWindow(QPixmap pixmap, QWidget *parent = 0); + +private: + void construct(); + QPixmap m_pixmap; +}; + +#endif // IMAGEVIEWERMDISUBWINDOW_H diff --git a/gui//src/MainWindow.cpp b/gui//src/MainWindow.cpp --- a/gui//src/MainWindow.cpp +++ b/gui//src/MainWindow.cpp @@ -23,6 +23,7 @@ #include #include "MainWindow.h" #include "FileEditorMdiSubWindow.h" +#include "ImageViewerMdiSubWindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), @@ -38,10 +39,17 @@ void MainWindow::handleOpenFileRequest(QString fileName) { reportStatusMessage("Opening file."); - FileEditorMdiSubWindow *subWindow = new FileEditorMdiSubWindow(m_openedFiles); - m_openedFiles->addSubWindow(subWindow); - subWindow->loadFile(fileName); - subWindow->showMaximized(); + QPixmap pixmap; + if(pixmap.load(fileName)) { + ImageViewerMdiSubWindow *subWindow = new ImageViewerMdiSubWindow(pixmap, this); + m_openedFiles->addSubWindow(subWindow); + subWindow->showMaximized(); + } else { + FileEditorMdiSubWindow *subWindow = new FileEditorMdiSubWindow(m_openedFiles); + m_openedFiles->addSubWindow(subWindow); + subWindow->loadFile(fileName); + subWindow->showMaximized(); + } m_centralTabWidget->setCurrentWidget(m_openedFiles); }