/* ** Copyright (C) 1999,2000 Toivo Pedaste ** // This widget is used to display information and the file list of a // package. // // Package information will be displayed using (another) sub-widget // that is inherited from a TQTableView. // // The file list will be displayed using a tree list. // // The widget is mainly a TQTabDialog with two tabs: Info and FileList. // The Info tab is the default one. */ /* ** 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 PACKAGEDISPLAY_H #define PACKAGEDISPLAY_H #include "../config.h" // TQt Headers #include #include #include #include #include #include class packagePropertiesWidget; class packageInfo; class TQListViewItem; class TQTextEdit; class packageDisplayWidget; class kpFileList : public TDEListView { Q_OBJECT public: kpFileList(TQWidget* parent, packageDisplayWidget* parent2); TQString item2Path(TQListViewItem *it); public slots: void openContext(TDEListView *, TQListViewItem *, const TQPoint &); virtual void clear(); TQListViewItem* insert(const TQString &cur, const TQPixmap &pixmap); private: TDEPopupMenu *FileListMenu; packageDisplayWidget* pkDisplay; int openwith; }; class packageDisplayWidget : public TQTabWidget { Q_OBJECT friend class kpFileList; ///////////// METHODS ------------------------------------------------------ public: packageDisplayWidget(TQWidget *parent=0); // Constructor ~packageDisplayWidget(); // Destructor void noPackage(); // clear package display in right panel void changePackage(packageInfo *p); // Set currently selected package private: void setupWidgets(); // This sets up the sub-widgets void updateFileList(); // This updates the file list to match that found with the currently // selected package void updateChangeLog(); // This updates the change log to match that found with the currently // selected package void tabSet(TQWidget *); // Set display for corresponding tab ///////////// SLOTS -------------------------------------------------------- public slots: void tabSelected(TQWidget *); void openBinding(TQListViewItem *); void openBindingWith(TQListViewItem *); void __openBindingWith(); ///////////// SIGNALS ------------------------------------------------------ ///////////// DATA --------------------------------------------------------- public: packageInfo *package; // the currently selected package private: TQTabWidget *tabbar; // The tab bar TQVBox *proptab, *fltab, *cltab; TQWidget *curTab; // current active tab kpFileList *fileList; // This holds the file list (and is used as a page on the tab dialog) TQTextEdit *changeLog; // Holds changelog TQPixmap tick, cross, question, *blank; // The pixmaps for the filelist packagePropertiesWidget *packageProperties; // This displays the package properties (and is used as a page on the // tab dialog) bool initList; // True is file list has been initialised }; #endif