/* Dialog.cpp */

/* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
 *
 * This file is part of sayonara player
 *
 * 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 3 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.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "Dialog.h"
#include "Gui/Utils/GuiUtils.h"

#include <QScreen>
#include <QDialog>
#include <QCloseEvent>
#include <QMainWindow>

using Gui::Dialog;
using Gui::WidgetTemplate;

Dialog::Dialog(QWidget* parent) :
	WidgetTemplate<QDialog>(parent)
{
	setSizeGripEnabled(true);
}

Dialog::~Dialog() = default;

bool Dialog::isAccepted() const
{
	return (result() == QDialog::Accepted);
}

void Dialog::resize(double percent)
{
	auto* mainWindow = Gui::Util::mainWindow();
	QSize sz = mainWindow->size();
	sz *= percent;

	sz.setWidth(std::max(sz.width(), 800));
	sz.setHeight(std::max(sz.height(), 600));

	QDialog::resize(sz);
}

void Dialog::closeEvent(QCloseEvent* e)
{
	QDialog::closeEvent(e);
	emit sigClosed();
}


