Files
cantata/devices/devicepropertieswidget.h
Craig Drummond b6bd94c236 Update (c) year
2022-01-08 21:24:07 +00:00

85 lines
2.5 KiB
C++

/*
* Cantata
*
* Copyright (c) 2011-2022 Craig Drummond <craig.p.drummond@gmail.com>
*
* ----
*
* 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 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
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; see the file COPYING. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef DEVICEPROPERTIESWIDGET_H
#define DEVICEPROPERTIESWIDGET_H
#include "ui_devicepropertieswidget.h"
#include "device.h"
#include "support/utils.h"
class FilenameSchemeDialog;
class DevicePropertiesWidget : public QWidget, Ui::DevicePropertiesWidget
{
Q_OBJECT
public:
enum Properties {
Prop_Basic = 0x0000,
Prop_Name = 0x0001,
Prop_Folder = 0x0002,
Prop_FileName = 0x0004,
Prop_CoversAll = 0x0008,
Prop_CoversBasic = 0x0010,
Prop_Va = 0x0020,
Prop_Transcoder = 0x0040,
Prop_Cache = 0x0080,
Prop_AutoScan = 0x0100,
Prop_Encoder = 0x0200,
Prop_All = 0x03FF
};
DevicePropertiesWidget(QWidget *parent);
~DevicePropertiesWidget() override { }
void update(const QString &path, const DeviceOptions &opts, const QList<DeviceStorage> &storage, int props, int disabledProps);
DeviceOptions settings();
bool isModified() const { return modified; }
bool isSaveable() const { return saveable; }
QString music() const { return musicFolder && musicFolder->isEnabled() ? Utils::convertPathFromDisplay(musicFolder->text()) : origMusicFolder; }
QString cover() const;
void showRemoteConnectionNote(bool v) { remoteDeviceNote->setVisible(v); }
Q_SIGNALS:
void updated();
private Q_SLOTS:
void configureFilenameScheme();
void checkSaveable();
void transcoderChanged();
void albumCoversChanged();
void setSize();
private:
FilenameSchemeDialog *schemeDlg;
DeviceOptions origOpts;
QString origMusicFolder;
QString noCoverText;
QString embedCoverText;
bool modified;
bool saveable;
};
#endif