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 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
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
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