|
|
|
/***************************************************************************
|
|
|
|
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 <kdialogbase.h>
|
|
|
|
|
|
|
|
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> dataSourceInfo() const { return m_manager->dataSourceInfo(); }
|
|
|
|
|
|
|
|
private slots:
|
|
|
|
void slotProviders(TQPtrList<KNS::Provider>* 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<KIO::Job*, KNS::Provider*> m_jobs;
|
|
|
|
TQMap<KIO::Job*, TQByteArray> m_data;
|
|
|
|
|
|
|
|
TQMap<TQListViewItem*, KNS::Entry*> m_entryMap;
|
|
|
|
TQListViewItem* m_lastPreviewItem;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|