/* ** Copyright (C) 1999,2000 Toivo Pedaste ** // This provides the installation options, plus the install and cancel // buttons. When the install button is clicked, the current package // is installed. */ /* ** 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 in a file called COPYING; if not, write to ** the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, ** MA 02110-1301, USA. */ /* ** Bug reports and questions can be sent to kde-devel@kde.org */ #ifndef PKGINSTALL_OPTIONS #define PKGINSTALL_OPTIONS #include "../config.h" // TQt headers #include #include #include #include #include #include // kpackage headers #include "packageInfo.h" #include "pkgInterface.h" #include "kpTerm.h" class TDEListView; class KPushButton; class pkgOptions : public KDialog { Q_OBJECT public: pkgOptions( pkgInterface *pki, TQWidget *parent=0, const TQString &caption=TQString()); ~pkgOptions(); bool setup(TQPtrList *pl, const TQString &type); void setup(packageInfo *p, const TQString &type); void reset(); virtual TQString doPackages(int installFlags, TQPtrList *p, bool &test) = 0; TQCheckBox **Boxs; // options buttons TQCheckBox *Keep; // keep window TDEListView *packages; int bnumber; // number of option buttons TQLabel *title; // Widget title kpTerm *term; pkgInterface *pkgInt; bool modified; bool test; bool running; protected: // This sets up the sub-widgets void setupWidgets(TQPtrList &pars); private slots: virtual void pkginstallButtonClicked(); virtual void cancelButtonClicked(); void slotSearch(TQListViewItem *item); void keepToggle(bool); public slots: void slotResult(TQStringList &rlist, int ret); signals: // This signal indicates that the widget has finished. void finished(int refresh); protected: // The layout managers TQBoxLayout *layout, *hlayout, *vlayout; // Sub widgets TQPushButton *installButton; KPushButton *cancelButton; TQString insType; bool installer; // install or uninstall bool keep; // keep the window TQPtrList *packList; void getKeep(); void showEvent (TQShowEvent *); void closeEvent (TQCloseEvent * e ); void terminate(); }; /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// class pkgOptionsI: public pkgOptions { Q_OBJECT public: pkgOptionsI(pkgInterface *pkg, TQWidget *parent = 0); TQString doPackages(int installFlags, TQPtrList *p, bool &test); }; /////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// class pkgOptionsU: public pkgOptions { Q_OBJECT public: pkgOptionsU(pkgInterface *pkg, TQWidget *parent = 0); TQString doPackages(int installFlags, TQPtrList *p, bool &test); }; #endif