+++ /dev/null
-/*
- * KMix -- KDE's full featured mini mixer
- *
- * Copyright (C) 2000 Stefan Schimanski <1Stein@gmx.de>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this program; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-
-#ifndef KMIX_H
-#define KMIX_H
-
-// Qt
-#include <QString>
-#include <QLabel>
-#include <qlist.h>
-#include <QVBoxLayout>
-#include <QPushButton>
-#include <QTimer>
-
-// KDE
-class KTabWidget;
-class KAccel;
-class KAction;
-#include <kxmlguiwindow.h>
-
-// KMix
-#include "core/GlobalConfig.h"
-#include "core/mixer.h"
-
-class KMixDockWidget;
-class KMixerWidget;
-class KMixWindow;
-class Mixer;
-class OSDWidget;
-class DialogSelectMaster;
-
-class KMixWindow : public KXmlGuiWindow
-{
- Q_OBJECT
-
-public:
- KMixWindow(bool invisible);
- ~KMixWindow();
-
-private:
- void saveBaseConfig();
- void saveViewConfig();
- void loadConfig();
- void loadBaseConfig();
-
- void initPrefDlg();
- void initActions();
- void initActionsLate();
- void initActionsAfterInitMixer();
- //void recreateGUI();
- void initWidgets();
- //void setErrorMixerWidget();
-
- virtual bool queryClose();
-
-public slots:
- void controlsChange(int changeType);
- void quit();
- void showSettings();
- void showHelp();
- void showAbout();
- void toggleMenuBar();
- void loadVolumes();
- void loadVolumes(QString postfix);
- void saveVolumes();
- void saveVolumes(QString postfix);
- void saveConfig();
- virtual void applyPrefs();
- void recreateGUI(bool saveView);
- void recreateGUI(bool saveConfig, const QString& mixerId, bool forceNewTab);
- void recreateGUIwithSavingView();
- void newMixerShown(int tabIndex);
- void slotSelectMaster();
-
-private:
- KMixerWidget* findKMWforTab( const QString& tabId );
-
- void errorPopup(const QString& msg);
-
- KAction* _actionShowMenubar;
-
-private:
- /**
- * configSnapshot is used to hold the original state before modifications in the preferences dialog
- */
- GlobalConfigData configDataSnapshot;
-
- bool m_startVisible;
- bool m_multiDriverMode; // Not officially supported.
- bool m_autouseMultimediaKeys; // Due to message freeze, not in config dialog in KDE4.4
-
- KTabWidget *m_wsMixers;
-
- KMixDockWidget *m_dockWidget;
- DialogSelectMaster *m_dsm;
-
- QString m_hwInfoString;
- QString m_defaultCardOnStart;
- bool m_dontSetDefaultCardOnStart;
- QLabel *m_errorLabel;
- QList<QString> m_backendFilter;
- void showVolumeDisplay();
- void increaseOrDecreaseVolume(bool increase);
-
- OSDWidget* osdWidget;
-
- bool addMixerWidget(const QString& mixer_ID, QString guiprofId, int insertPosition);
- void setInitialSize();
-
-protected:
- bool x11Event(XEvent *xevent) final;
-
-private:
- static QString getKmixctrlRcFilename(QString postfix);
- bool profileExists(QString guiProfileId);
- bool updateDocking();
- void removeDock();
- void updateTabsClosable();
-
-private slots:
- void slotHWInfo();
- void slotKdeAudioSetupExec();
- void slotConfigureCurrentView();
- void plugged( const char* driverName, const QString& udi, QString& dev);
- void unplugged( const QString& udi);
- void hideOrClose();
- void slotIncreaseVolume();
- void slotDecreaseVolume();
- void slotMute();
- void slotSelectMasterClose(QObject*);
-
- void newView();
- void saveAndCloseView(int);
-
- void loadVolumes1() { loadVolumes(QString("1")); }
- void loadVolumes2() { loadVolumes(QString("2")); }
- void loadVolumes3() { loadVolumes(QString("3")); }
- void loadVolumes4() { loadVolumes(QString("4")); }
-
- void saveVolumes1() { saveVolumes(QString("1")); }
- void saveVolumes2() { saveVolumes(QString("2")); }
- void saveVolumes3() { saveVolumes(QString("3")); }
- void saveVolumes4() { saveVolumes(QString("4")); }
-};
-
-#endif // KMIX_H