diff options
Diffstat (limited to 'krusader/Konfigurator/krresulttable.h')
-rw-r--r-- | krusader/Konfigurator/krresulttable.h | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/krusader/Konfigurator/krresulttable.h b/krusader/Konfigurator/krresulttable.h new file mode 100644 index 0000000..8cdfbfd --- /dev/null +++ b/krusader/Konfigurator/krresulttable.h @@ -0,0 +1,140 @@ +/*************************************************************************** + krresulttable.h + ------------------- + copyright : (C) 2005 by Dirk Eschler & Krusader Krew + e-mail : krusader@users.sourceforge.net + web site : http://krusader.sourceforge.net + --------------------------------------------------------------------------- + Description + *************************************************************************** + + A + + db dD d8888b. db db .d8888. .d8b. d8888b. d88888b d8888b. + 88 ,8P' 88 `8D 88 88 88' YP d8' `8b 88 `8D 88' 88 `8D + 88,8P 88oobY' 88 88 `8bo. 88ooo88 88 88 88ooooo 88oobY' + 88`8b 88`8b 88 88 `Y8b. 88~~~88 88 88 88~~~~~ 88`8b + 88 `88. 88 `88. 88b d88 db 8D 88 88 88 .8D 88. 88 `88. + YP YD 88 YD ~Y8888P' `8888Y' YP YP Y8888D' Y88888P 88 YD + + S o u r c e F i l e + + *************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef KRRESULTTABLE_H +#define KRRESULTTABLE_H + +#include <qstring.h> +#include <qlabel.h> +#include <qlayout.h> +#include <qhbox.h> +#include <qvbox.h> +#include <qgrid.h> +#include <qstringlist.h> +#include <qvaluevector.h> + +#include <kiconloader.h> +#include <kglobalsettings.h> +#include <klocale.h> +#include <klocale.h> +#include <krun.h> +#include <kseparator.h> +#include <kurllabel.h> + +#include "searchobject.h" +#include "../krusader.h" +#include "../krservices.h" +#include "../VFS/krarchandler.h" + +/** +@author Dirk Eschler <deschler@users.sourceforge.net> +*/ +class KrResultTable : public QWidget +{ +public: + KrResultTable(QWidget* parent); + virtual ~KrResultTable(); + + /** + * Adds a row of search results to the end of a QGridLayout + * Each KrResultTable has to implement it + * + * @param const SearchObject* search Name of the SearchObject + * @param const QGridLayout* grid The GridLayout where the row is inserted + * + * @return bool True if row was added successfully to rows, else false + */ + virtual bool addRow(SearchObject* search, QGridLayout* grid) = 0; + +protected: + QStringList _supported; + QStringList _tableHeaders; + int _numColumns; + int _numRows; + + QGridLayout* _grid; + QHBox* _iconBox; + QLabel* _label; // generic label + + /** + * Creates the main grid layout and attaches the table header + * + * @return bool Pointer to the main grid layout + */ + QGridLayout* initTable(); + + /** + * Applies settings to each cell of the grid layout + * Supposed to be run after a row was added + * + * @param const QGridLayout* grid The GridLayout + */ + void adjustRow(QGridLayout* grid); +}; + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + +class KrArchiverResultTable : public KrResultTable +{ + Q_OBJECT +public: + KrArchiverResultTable(QWidget* parent); + virtual ~KrArchiverResultTable(); + + bool addRow(SearchObject* search, QGridLayout* grid); + +protected: + KURLLabel* _nameLabel; + +protected slots: + void website(const QString&); +}; + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + +class KrToolResultTable : public KrResultTable +{ + Q_OBJECT +public: + KrToolResultTable(QWidget* parent); + virtual ~KrToolResultTable(); + + bool addRow(SearchObject* search, QGridLayout* grid); + +protected: + QValueVector<Application*> _apps; + +protected slots: + void website(const QString&); +}; + +#endif |