Skip to content

Commit

Permalink
GUI: Implement text preview
Browse files Browse the repository at this point in the history
  • Loading branch information
fdde authored and DrMcCoy committed Dec 27, 2017
1 parent dcaf54a commit 47e56ee
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 4 deletions.
2 changes: 2 additions & 0 deletions src/gui/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,8 @@ void MainWindow::selection(const QItemSelection &selected) {
_currentItem = _treeModel->getNode(index);
setLabels();
showPreviewPanel();

_panelPreviewText->setItem(_currentItem);
}

} // End of namespace GUI
30 changes: 28 additions & 2 deletions src/gui/panelpreviewtext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,12 @@
* Preview panel for text files.
*/

#include <QTextStream>

#include "verdigris/wobjectimpl.h"

#include "src/gui/panelpreviewtext.h"
#include "src/gui/resourcetreeitem.h"

namespace GUI {

Expand All @@ -33,11 +36,34 @@ W_OBJECT_IMPL(PanelPreviewText)
PanelPreviewText::PanelPreviewText(QObject *parent) {
_layout = new QHBoxLayout();
_layout->setObjectName("previewText");
_label = new QLabel("Text");
_layout->addWidget(_label);
_textBox = new QPlainTextEdit();
_layout->addWidget(_textBox);
setLayout(_layout);
}

void PanelPreviewText::setItem(ResourceTreeItem *item) {
if (item == _currentItem)
return;

if (item->getFileType() != Aurora::FileType::kFileTypeTXT &&
item->getFileType() != Aurora::FileType::kFileTypeINI)
return;

if (item->getSize() > 1000000) // 1 MB
return; // fixme: exception

_currentItem = item;

QFile file(item->getFileInfo().canonicalFilePath());
file.open(QFile::ReadOnly | QFile::Text);
QTextStream textStream(&file);

_textBox->setPlainText(textStream.readAll());

return; // fixme: exception
}


PanelPreviewText::~PanelPreviewText() {
delete _layout;
}
Expand Down
11 changes: 9 additions & 2 deletions src/gui/panelpreviewtext.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,30 @@

#include <QFrame>
#include <QHBoxLayout>
#include <QLabel>
#include <QWidget>
#include <QString>
#include <QPlainTextEdit>

#include "verdigris/wobjectdefs.h"

namespace GUI {

class ResourceTreeItem;

class PanelPreviewText : public QFrame {
W_OBJECT(PanelPreviewText)

private:
QHBoxLayout *_layout;
QLabel *_label;
QPlainTextEdit *_textBox;
QString _text;
ResourceTreeItem *_currentItem;

public:
PanelPreviewText(QObject *parent = 0);
~PanelPreviewText();

void setItem(ResourceTreeItem *item);
};

} // End of namespace GUI
Expand Down

0 comments on commit 47e56ee

Please sign in to comment.