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 #ifndef CONFIGDOCUMENT_H
23 #define CONFIGDOCUMENT_H
25 #include <QHBoxLayout>
28 #include <QPushButton>
32 #include <QWheelEvent>
34 #include "tabcontent.h"
40 class NoScrollCombo
: public QComboBox
43 NoScrollCombo(QWidget
* parent
= 0) : QComboBox(parent
) {}
44 virtual ~NoScrollCombo(){ }
46 void wheelEvent(QWheelEvent
* event
) { event
->ignore(); }
49 class ConfigDocument
: public TabContent
{
52 ConfigDocument(QMap
<QString
, QString
>& settings
, QString file
,
54 virtual ~ConfigDocument();
56 TabType
type() const{ return TabContent::Config
; }
57 QString
file() const{ return filePath
; }
58 QString
title() const;
60 QString
toPlainText() const;
68 void changeEvent(QEvent
*e
);
71 void configFileChanged(QString
);
79 Ui::ConfigDocument
*ui
;
80 QList
<QHBoxLayout
*> containers
;
81 QList
<NoScrollCombo
*> keys
;
82 QList
<QLineEdit
*> values
;
83 QList
<QPushButton
*> deleteButtons
;
84 QList
<QLabel
*> labels
;
86 QStringList primaryKeys
;
87 QStringList secondaryKeys
;
92 void addRow(QString key
, QString value
);
95 #endif // CONFIGDOCUMENT_H