CookiesContentsWidget::CookiesContentsWidget(Window *window) : ContentsWidget(window),
	m_model(new QStandardItemModel(this)),
	m_isLoading(true),
	m_ui(new Ui::CookiesContentsWidget)
{
	m_ui->setupUi(this);

	if (!window)
	{
		m_ui->detailsWidget->hide();
	}

	QTimer::singleShot(100, this, SLOT(populateCookies()));

	connect(m_ui->filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterCookies(QString)));
	connect(m_ui->cookiesView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showContextMenu(QPoint)));
	connect(m_ui->deleteButton, SIGNAL(clicked()), this, SLOT(removeCookies()));
}
void CookiesContentsWidget::showContextMenu(const QPoint &point)
{
	const QModelIndex index = m_ui->cookiesView->indexAt(point);
	QMenu menu(this);

	if (index.isValid())
	{
		if (index.parent() != m_model->invisibleRootItem()->index())
		{
			menu.addAction(tr("Remove Cookie"), this, SLOT(removeCookies()));
		}

		menu.addAction(tr("Remove All Cookies from This Domain…"), this, SLOT(removeDomainCookies()));
	}

	menu.addAction(tr("Remove All Cookies…"), this, SLOT(removeAllCookies()))->setEnabled(m_ui->cookiesView->model()->rowCount() > 0);
	menu.addSeparator();
	menu.addAction(ActionsManager::getAction(ActionsManager::ClearHistoryAction, this));
	menu.exec(m_ui->cookiesView->mapToGlobal(point));
}
void OnetAuth::authorize(QString _strNick, QString _strPass)
{
    if (_strNick.isEmpty())
        return; // empty nick

    if (Settings::instance()->getBool("logged"))
        return; // already logged

    if (Settings::instance()->getBool("authorizing"))
        return; // already authorizing

    Settings::instance()->setBool("authorizing", true);
    emit authStateChanged();

    strFullNick = _strNick.left(32);
    strNick = (_strNick.at(0) == '~' ? _strNick.remove(0,1).left(31) : _strNick.left(32));
    strPass = _strPass;
    strNickLen = QString::number(strNick.length());
    bRegisteredNick = strFullNick.at(0) != '~';
    bOverride = Settings::instance()->getBool("override");

    if (Settings::instance()->getBool("debug"))
    {
        qDebug() << "Override: " << bOverride;
        qDebug() << "Logged: " << Settings::instance()->get("logged");
        qDebug() << "Authorizing: " << Settings::instance()->get("authorizing");
    }

    // update nick
    emit updateNick(strFullNick);

    // remove cookies
    removeCookies();

    getChat();
}