/* Copyright (c) 2004 Aaron J. Seigo This library 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 library 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 library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include #include #include "downloaddialog.h" #include "knewstuffbutton.h" #include "knewstuffbutton.moc" namespace KNS { Button::Button(const TQString& what, const TQString& providerList, const TQString& resourceType, TQWidget* parent, const char* name) : KPushButton(parent, name), d(0), m_providerList(providerList), m_type(resourceType), m_downloadDialog(0) { setButtonText(what); init(); } Button::Button(TQWidget* parent, const char* name) : KPushButton(parent, name), d(0), m_downloadDialog(0) { setButtonText(i18n("Download New Stuff")); init(); } void Button::init() { setIconSet(SmallIconSet("knewstuff")); connect(this, TQT_SIGNAL(clicked()), TQT_SLOT(showDialog())); } void Button::setButtonText(const TQString& what) { setText(i18n("Download New %1").arg(what)); } void Button::setProviderList(const TQString& providerList) { m_providerList = providerList; } void Button::setResourceType(const TQString& resourceType) { m_type = resourceType; } void Button::showDialog() { emit aboutToShowDialog(); if (!m_downloadDialog) { m_downloadDialog = new DownloadDialog(0, this); } m_downloadDialog->setType(m_type); m_downloadDialog->load(m_providerList); m_downloadDialog->exec(); // TODO: make non-modal? emit dialogFinished(); } }