/*************************************************************************** copyright : (C) 2006 by Robby Stephenson email : robby@periapsis.org ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of version 2 of the GNU General Public License as * * published by the Free Software Foundation; * * * ***************************************************************************/ #ifndef TELLICO_NEWSTUFF_DIALOG_H #define TELLICO_NEWSTUFF_DIALOG_H #include "manager.h" #include class KPushButton; class KStatusBar; namespace KIO { class Job; } namespace KNS { class Entry; class Provider; } class TQProgressBar; class TQSplitter; class TQLabel; class TQTextEdit; namespace Tellico { namespace GUI { class ListView; class CursorSaver; } namespace NewStuff { class Dialog : public KDialogBase { Q_OBJECT public: Dialog(DataType type, TQWidget* parent); virtual ~Dialog(); TQPtrList dataSourceInfo() const { return m_manager->dataSourceInfo(); } private slots: void slotProviders(TQPtrList* list); void slotData(KIO::Job* job, const TQByteArray& data); void slotResult(KIO::Job* job); void slotPreviewResult(KIO::Job* job); void slotShowPercent(KIO::Job* job, unsigned long percent); void slotSelected(TQListViewItem* item); void slotInstall(); void slotDoneInstall(KNS::Entry* entry); void slotProviderError(); void slotMoveProgress(); private: class Item; void setStatus(const TQString& status); void addEntry(KNS::Entry* entry); Manager* const m_manager; DataType m_type; TQString m_lang; TQString m_typeName; TQSplitter* m_split; GUI::ListView* m_listView; TQLabel* m_iconLabel; TQLabel* m_nameLabel; TQLabel* m_infoLabel; TQTextEdit* m_descLabel; KPushButton* m_install; KStatusBar* m_statusBar; TQProgressBar* m_progress; TQTimer* m_timer; GUI::CursorSaver* m_cursorSaver; KTempFile* m_tempPreviewImage; TQMap m_jobs; TQMap m_data; TQMap m_entryMap; TQListViewItem* m_lastPreviewItem; }; } } #endif