1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2010 Robert Bieber
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 #include "skindocument.h"
28 SkinDocument::SkinDocument(QWidget
*parent
) :
38 SkinDocument::~SkinDocument()
44 bool SkinDocument::requestClose()
49 void SkinDocument::setupUI()
51 /* Setting up the text edit */
52 layout
= new QHBoxLayout
;
53 editor
= new QPlainTextEdit(this);
54 layout
->addWidget(editor
);
58 /* Attaching the syntax highlighter */
59 highlighter
= new SkinHighlighter(QColor(0,180,0), QColor(255,0,0),
60 QColor(0,0,255), QColor(120,120,120),
63 /* Setting up the model */
64 model
= new ParseTreeModel("");
66 /* Connecting the editor's signal */
67 QObject::connect(editor
, SIGNAL(textChanged()),
68 this, SLOT(codeChanged()));
71 void SkinDocument::codeChanged()
73 model
->changeTree(editor
->document()->toPlainText().toAscii());
77 title
.append(tr("*"));
78 emit
titleChanged(title
);
82 void SkinDocument::save()
88 QTimer::singleShot(0, this, SLOT(saveAs()));
92 fout
.open(QFile::WriteOnly
);
93 fout
.write(editor
->document()->toPlainText().toAscii());
99 void SkinDocument::saveAs()
101 /* Determining the directory to open */