00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
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 YQPkgList;
00048 class YQPkgRpmGroupTagsFilterView;
00049 class YQPkgSearchFilterView;
00050 class YQPkgSelList;
00051 class YQPkgSelectionsFilterView;
00052 class YQPkgStatusFilterView;
00053 class YQPkgTechnicalDetailsView;
00054 class YQPkgUpdateProblemFilterView;
00055 class YQPkgVersionsView;
00056 class YQPkgYouPatchFilterView;
00057 class YQPkgYouPatchList;
00058
00059
00060 class YQPackageSelector : public QVBox, public YPackageSelector
00061 {
00062 Q_OBJECT
00063
00064 public:
00065
00066 YQPackageSelector( QWidget * parent, const YWidgetOpt & opt, const YCPString & floppyDevice );
00067
00073 void setEnabling( bool enabled );
00074
00080 long nicesize( YUIDimension dim );
00081
00085 void setSize( long newWidth, long newHeight );
00086
00090 virtual bool setKeyboardFocus();
00091
00095 void setTextdomain( const char * domain );
00096
00097
00098 public slots:
00099
00105 int resolvePackageDependencies();
00106
00112 int manualResolvePackageDependencies();
00113
00120 int resolveSelectionDependencies();
00121
00126 void autoResolveDependencies();
00127
00135 int checkDiskUsage();
00136
00140 void pkgExport();
00141
00145 void pkgImport();
00146
00151 void showAutoPkgList();
00152
00156 void reject();
00157
00161 void accept();
00162
00166 void help();
00167
00171 void symbolHelp();
00172
00176 void keyboardHelp();
00177
00182 void notImplemented();
00183
00184 signals:
00185
00191 void loadData();
00192
00198 void refresh();
00199
00200
00201 protected:
00202
00203
00204
00205 void basicLayout();
00206
00207 void layoutLeftPane ( QWidget * parent );
00208 void layoutFilters ( QWidget * parent );
00209 void layoutRightPane ( QWidget * parent );
00210 void layoutPkgList ( QWidget * parent );
00211 void layoutDetailsViews ( QWidget * parent );
00212 void layoutButtons ( QWidget * parent );
00213 void layoutMenuBar ( QWidget * parent );
00214
00221 void makeConnections();
00222
00229 void addMenus();
00230
00234 void fakeData();
00235
00244 void connectFilter( QWidget * filter,
00245 QWidget * pkgList,
00246 bool hasUpdateSignal = true );
00253 virtual void keyPressEvent( QKeyEvent * ev );
00254
00258 QString symHelp( const QString & imgFileName,
00259 const QString & summary,
00260 const QString & explanation );
00261
00262
00266 QString keyHelp( const QString & key,
00267 const QString & summary,
00268 const QString & explanation );
00269
00273 static QString para( const QString & text );
00274
00278 static QString listItem( const QString & text );
00279
00280
00281
00282
00283 bool _searchMode;
00284 bool _testMode;
00285 bool _updateMode;
00286 bool _youMode;
00287 int _installedPkgs;
00288 QString _floppyDevice;
00289
00290 QCheckBox * _autoDependenciesCheckBox;
00291 QProgressBar * _diskSpace;
00292 QPushButton * _checkDependenciesButton;
00293 QTabWidget * _detailsViews;
00294 QY2ComboTabWidget * _filters;
00295 YQPkgConflictDialog * _pkgConflictDialog;
00296 YQPkgConflictDialog * _selConflictDialog;
00297 YQPkgDependenciesView * _pkgDependenciesView;
00298 YQPkgDescriptionView * _pkgDescriptionView;
00299 YQPkgDiskUsageList * _diskUsageList;
00300 YQPkgList * _pkgList;
00301 YQPkgRpmGroupTagsFilterView * _rpmGroupTagsFilterView;
00302 YQPkgSearchFilterView * _searchFilterView;
00303 YQPkgSelList * _selList;
00304 YQPkgSelectionsFilterView * _selectionsFilterView;
00305 YQPkgStatusFilterView * _statusFilterView;
00306 YQPkgTechnicalDetailsView * _pkgTechnicalDetailsView;
00307 YQPkgUpdateProblemFilterView * _updateProblemFilterView;
00308 YQPkgVersionsView * _pkgVersionsView;
00309 YQPkgYouPatchFilterView * _youPatchFilterView;
00310 YQPkgYouPatchList * _youPatchList;
00311
00312 QMenuBar * _menuBar;
00313 QPopupMenu * _fileMenu;
00314 QPopupMenu * _viewMenu;
00315 QPopupMenu * _pkgMenu;
00316 QPopupMenu * _youPatchMenu;
00317 QPopupMenu * _extrasMenu;
00318 QPopupMenu * _helpMenu;
00319 };
00320
00321
00322 #endif // YQPackageSelector_h