summaryrefslogtreecommitdiffstats
path: root/rbutil/rbutilqt/encttscfggui.h
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2009-04-29 21:27:01 +0000
committerDominik Wenger <domonoky@googlemail.com>2009-04-29 21:27:01 +0000
commit5b85ef6006ae8e88694c62806f7f178eab4d3ba9 (patch)
tree19555e6dd782823b5329e871d6d8bea5bca7980d /rbutil/rbutilqt/encttscfggui.h
parent3d2e42ab4cc6306db4036983badea0c92750210b (diff)
downloadrockbox-5b85ef6006ae8e88694c62806f7f178eab4d3ba9.tar.gz
rockbox-5b85ef6006ae8e88694c62806f7f178eab4d3ba9.zip
rbutil: completely rework how tts and encoders are configured. (FS#10070)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20824 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/rbutilqt/encttscfggui.h')
-rw-r--r--rbutil/rbutilqt/encttscfggui.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/encttscfggui.h b/rbutil/rbutilqt/encttscfggui.h
new file mode 100644
index 0000000000..45b151ce23
--- /dev/null
+++ b/rbutil/rbutilqt/encttscfggui.h
@@ -0,0 +1,78 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * Copyright (C) 2007 by Dominik Wenger
+ * $Id: encoders.h 17902 2008-06-30 22:09:45Z bluebrother $
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#ifndef ENCTTSCFGGUI_H
+#define ENCTTSCFGGUI_H
+
+#include <QtGui>
+#include "encttssettings.h"
+
+//! \brief Shows and manages a configuration gui for encoders and tts enignes
+//!
+class EncTtsCfgGui: public QDialog
+{
+ Q_OBJECT
+public:
+ //! Creates the UI. give it a endoer or tts engine with already set config. uses show() or exec() to show it.
+ EncTtsCfgGui(QDialog* parent, EncTtsSettingInterface* interface,QString name);
+
+private slots:
+ //! accept current configuration values and close window
+ void accept(void);
+ //! close window and dont save configuration
+ void reject(void);
+ //! updates the corresponding setting from the sending Widget
+ void updateSetting();
+ //! updates corresponding Widget from the sending Setting.
+ void updateWidget();
+ //! shows a busy dialog. counts calls.
+ void showBusy();
+ //! hides the busy dialog, counts calls
+ void hideBusy();
+ //! used via the SignalMapper for all Browse buttons
+ void browse(QObject*);
+
+private:
+ //! creates all dynamic window content
+ void setUpWindow();
+ //! creates the Widgets needed for one setting. returns a Layout with the widgets
+ QLayout* createWidgets(EncTtsSetting* setting);
+ //! creates a button when needed by the setting.
+ QWidget* createButton(EncTtsSetting* setting);
+ //! name of the Encoder or TTS for which this UI is
+ QString m_name;
+ //! the interface pointer to the TTS or encoder
+ EncTtsSettingInterface* m_settingInterface;
+ //! Dialog, shown when enc or tts is busy
+ QProgressDialog* m_busyDlg;
+ //! List of settings from the TTS or Encoder
+ QList<EncTtsSetting*> m_settingsList;
+ //! Maps settings and the correspondig Widget
+ QMap<EncTtsSetting*,QWidget*> m_settingsWidgetsMap;
+ //! Maps all browse buttons to the corresponding Setting
+ QSignalMapper m_browseBtnMap;
+ //! counter how often busyShow() is called,
+ int m_busyCnt;
+};
+
+
+#endif
+