#pragma once
#include "configobject.hpp"
#include <QStringList>
#include <qqmlintegration.h>

namespace ZShell::config {

class Dock : public ConfigObject {
	Q_OBJECT
	QML_ANONYMOUS

	CFG_PROPERTY(bool, enable, false)
	CFG_PROPERTY(int, height, 80)
	CFG_PROPERTY(bool, hoverToReveal, false)
	CFG_PROPERTY(QStringList, ignoredAppRegexes, {})
	CFG_PROPERTY(
		QStringList,
		pinnedApps,
		(QStringList{
			QStringLiteral("com.ayugram.desktop"),
			QStringLiteral("com.obsproject.studio"),
			QStringLiteral("librewolf")}))
	CFG_PROPERTY(bool, pinnedOnStartup, false)

	public:
	explicit Dock(QObject* parent = nullptr) : ConfigObject(parent) {}
};

} // namespace ZShell::config
