From c876d3bbefe0dc00c27ca0c12d29da5874946962 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Wed, 15 Dec 2021 21:04:28 +0100 Subject: rbutil: Merge rbutil with utils folder. rbutil uses several components from the utils folder, and can be considered part of utils too. Having it in a separate folder is an arbitrary split that doesn't help anymore these days, so merge them. This also allows other utils to easily use libtools.make without the need to navigate to a different folder. Change-Id: I3fc2f4de19e3e776553efb5dea5f779dfec0dc21 --- utils/rbutilqt/encttscfggui.h | 79 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 utils/rbutilqt/encttscfggui.h (limited to 'utils/rbutilqt/encttscfggui.h') diff --git a/utils/rbutilqt/encttscfggui.h b/utils/rbutilqt/encttscfggui.h new file mode 100644 index 0000000000..80af86dabc --- /dev/null +++ b/utils/rbutilqt/encttscfggui.h @@ -0,0 +1,79 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2007 by Dominik Wenger + * + * 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 +#include +#include +#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* iface, 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 + QWidget* 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 m_settingsList; + //! Maps settings and the correspondig Widget + QMap m_settingsWidgetsMap; + //! Maps all browse buttons to the corresponding Setting + QSignalMapper m_browseBtnMap; + //! counter how often busyShow() is called, + int m_busyCnt; +}; + + +#endif + -- cgit v1.2.3