Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members

YQPackageSelector.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                                        (C) SuSE GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013   File:       YQPackageSelector.h
00014 
00015   Author:     Stefan Hundhammer <sh@suse.de>
00016 
00017 /-*/
00018 
00019 // -*- c++ -*-
00020 
00021 #ifndef YQPackageSelector_h
00022 #define YQPackageSelector_h
00023 
00024 #include <qvbox.h>
00025 #include <ycp/YCPString.h>
00026 
00027 #include "YPackageSelector.h"
00028 
00029 
00030 class QCheckBox;
00031 class QComboBox;
00032 class QLabel;
00033 class QListView;
00034 class QProgressBar;
00035 class QPushButton;
00036 class QSplitter;
00037 class QTabWidget;
00038 class QPopupMenu;
00039 class QMenuBar;
00040 
00041 class QY2ComboTabWidget;
00042 
00043 class YQPkgConflictDialog;
00044 class YQPkgDependenciesView;
00045 class YQPkgDescriptionView;
00046 class YQPkgDiskUsageList;
00047 class YQPkgLangFilterView;
00048 class YQPkgLangList;
00049 class YQPkgList;
00050 class YQPkgRpmGroupTagsFilterView;
00051 class YQPkgSearchFilterView;
00052 class YQPkgSelList;
00053 class YQPkgSelectionsFilterView;
00054 class YQPkgStatusFilterView;
00055 class YQPkgTechnicalDetailsView;
00056 class YQPkgUpdateProblemFilterView;
00057 class YQPkgVersionsView;
00058 class YQPkgYouPatchFilterView;
00059 class YQPkgYouPatchList;
00060 
00061 
00062 class YQPackageSelector : public QVBox, public YPackageSelector
00063 {
00064     Q_OBJECT
00065 
00066 public:
00067 
00068     YQPackageSelector( QWidget * parent, const YWidgetOpt & opt, const YCPString & floppyDevice );
00069 
00075     void setEnabling( bool enabled );
00076 
00082     long nicesize( YUIDimension dim );
00083 
00087     void setSize( long newWidth, long newHeight );
00088 
00092     virtual bool setKeyboardFocus();
00093 
00094 
00095 public slots:
00096 
00102      int resolvePackageDependencies();
00103 
00109      int manualResolvePackageDependencies();
00110 
00117      int resolveSelectionDependencies();
00118 
00123     void autoResolveDependencies();
00124 
00132     int checkDiskUsage();
00133 
00137     void pkgExport();
00138 
00142     void pkgImport();
00143 
00148     void showAutoPkgList();
00149 
00154     void installDevelPkgs();
00155 
00160     void installDebugInfoPkgs();
00161 
00166     void installSubPkgs( const QString suffix );
00167 
00171     void reject();
00172 
00176     void accept();
00177 
00181     void help();
00182 
00186     void symbolHelp();
00187 
00191     void keyboardHelp();
00192 
00197     void notImplemented();
00198 
00199 signals:
00200 
00206     void loadData();
00207 
00213     void refresh();
00214 
00215 
00216 protected:
00217 
00218     // Layout methods - create and layout widgets
00219 
00220     void basicLayout();
00221 
00222     QWidget *   layoutLeftPane          ( QWidget * parent );
00223     QWidget *   layoutRightPane         ( QWidget * parent );
00224     void        layoutFilters           ( QWidget * parent );
00225     void        layoutPkgList           ( QWidget * parent );
00226     void        layoutDetailsViews      ( QWidget * parent );
00227     void        layoutButtons           ( QWidget * parent );
00228     void        layoutMenuBar           ( QWidget * parent );
00229 
00236     void makeConnections();
00237 
00244     void addMenus();
00245 
00249     void fakeData();
00250 
00259     void connectFilter( QWidget *       filter,
00260                         QWidget *       pkgList,
00261                         bool            hasUpdateSignal = true );
00268     virtual void keyPressEvent( QKeyEvent * ev );
00269 
00273     QString symHelp( const QString & imgFileName,
00274                      const QString & summary,
00275                      const QString & explanation        );
00276 
00277     
00281     QString keyHelp( const QString & key,
00282                      const QString & summary,
00283                      const QString & explanation        );
00284 
00288     static QString para( const QString & text );
00289     
00293     static QString listItem( const QString & text );
00294 
00295 
00296     // Data members
00297 
00298     bool                                _searchMode;
00299     bool                                _testMode;
00300     bool                                _updateMode;
00301     bool                                _youMode;
00302     bool                                _summaryMode;
00303     int                                 _installedPkgs;
00304     QString                             _floppyDevice;
00305 
00306     QCheckBox *                         _autoDependenciesCheckBox;
00307     QPushButton *                       _checkDependenciesButton;
00308     QTabWidget *                        _detailsViews;
00309     QY2ComboTabWidget *                 _filters;
00310     YQPkgConflictDialog *               _pkgConflictDialog;
00311     YQPkgConflictDialog *               _selConflictDialog;
00312     YQPkgDependenciesView *             _pkgDependenciesView;
00313     YQPkgDescriptionView *              _pkgDescriptionView;
00314     YQPkgDiskUsageList *                _diskUsageList;
00315     YQPkgLangFilterView *               _langFilterView;
00316     YQPkgLangList *                     _langList;
00317     YQPkgList *                         _pkgList;
00318     YQPkgRpmGroupTagsFilterView *       _rpmGroupTagsFilterView;
00319     YQPkgSearchFilterView *             _searchFilterView;
00320     YQPkgSelList *                      _selList;
00321     YQPkgSelectionsFilterView *         _selectionsFilterView;
00322     YQPkgStatusFilterView *             _statusFilterView;
00323     YQPkgTechnicalDetailsView *         _pkgTechnicalDetailsView;
00324     YQPkgUpdateProblemFilterView *      _updateProblemFilterView;
00325     YQPkgVersionsView *                 _pkgVersionsView;
00326     YQPkgYouPatchFilterView *           _youPatchFilterView;
00327     YQPkgYouPatchList *                 _youPatchList;
00328 
00329     QMenuBar *                          _menuBar;
00330     QPopupMenu *                        _fileMenu;
00331     QPopupMenu *                        _viewMenu;
00332     QPopupMenu *                        _pkgMenu;
00333     QPopupMenu *                        _youPatchMenu;
00334     QPopupMenu *                        _extrasMenu;
00335     QPopupMenu *                        _helpMenu;
00336 };
00337 
00338 
00339 
00340 #endif // YQPackageSelector_h

Generated on Wed Sep 14 10:59:02 2005 for yast2-qt by  doxygen 1.4.4