24#ifndef NCPackageSelector_h
25#define NCPackageSelector_h
32#include <zypp/ResObject.h>
33#include <zypp/Patch.h>
34#include <zypp/ui/Selectable.h>
36#define YUILogComponent "ncurses-pkg"
37#include <yui/YUILog.h>
39#include <yui/YWidgetID.h>
40#include <yui/ncurses/NCEmpty.h>
41#include <yui/ncurses/YNCursesUI.h>
43#include "NCPkgFilterInstSummary.h"
44#include "NCPkgFilterMain.h"
45#include "NCPkgFilterSearch.h"
46#include "NCPkgMenuFilter.h"
47#include "NCPkgPackageDetails.h"
48#include "NCPkgPopupDeps.h"
49#include "NCPkgSearchSettings.h"
50#include "NCPkgSelMapper.h"
51#include "NCPkgStrings.h"
52#include "NCPkgTable.h"
79inline bool ic_compare (
char c1,
char c2 )
81 return ( toupper( c1 ) == toupper( c2 ) );
84#define DOCTYPETAG "<!-- DT:Rich -->"
104class NCPackageSelector
107 friend std::ostream & operator<<( std::ostream & STREAM,
const NCPackageSelector & OBJ );
109 NCPackageSelector & operator=(
const NCPackageSelector & );
110 NCPackageSelector (
const NCPackageSelector & );
115 typedef bool (NCPackageSelector::* tHandlerFctPtr) (
const NCursesEvent& event );
118 typedef std::map<std::string, tHandlerFctPtr> tHandlerMap;
120 tHandlerMap eventHandlerMap;
142 bool onlineSearchEnabled;
144 std::map <std::string, std::string> sysconfig;
148 bool installRecommended;
150 std::string actionAtExit;
164 YMenuItem * updatelistItem;
167 YLabel * packageLabel;
168 YLabel * diskspaceLabel;
169 YLabel *patternLabel;
173 NCRichText * filter_desc;
174 NCInputField *searchField;
176 YReplacePoint * replacePoint;
177 YReplacePoint * replPoint;
178 YReplacePoint * replPoint2;
185 NCPushButton * okButton;
186 NCPushButton * cancelButton;
188 YMenuItem * visibleInfo;
193 std::set<std::string> verified_pkgs;
215 NCPackageSelector(
long modeFlags );
222 void setFlags(
long modeFlags);
224 void readSysconfig();
225 void writeSysconfig();
233 void createPkgLayout( YWidget * parent, NCPkgTable::NCPkgTableType type );
251 YLabel *PackageLabel() {
return packageLabel; }
252 YLabel *PatternLabel() {
return patternLabel; }
257 NCPkgTable *VersionsList() {
return versionsList; }
258 void setVersionsList (
NCPkgTable *table ) { versionsList = table; }
260 NCPkgTable * PatchPkgs() {
return patchPkgs; }
261 NCPkgTable * PatchPkgsVersions() {
return patchPkgsVersions; }
263 YReplacePoint *ReplacePoint() {
return replacePoint; }
264 NCRichText *FilterDescription() {
return filter_desc; }
267 bool checkNow(
bool *ok );
268 bool systemVerification(
bool *ok );
269 bool doInstallRecommended(
bool *ok );
311 bool isYouMode() {
return youMode; }
313 bool isUpdateMode() {
return updateMode; }
315 bool isRepoMgrEnabled() {
return repoMgrEnabled; }
317 bool isTestMode() {
return testMode; }
319 bool isOnlineSearchEnabled() {
return onlineSearchEnabled; }
325 std::string ActionAtExit() {
return actionAtExit; }
326 void setActionAtExit( std::string action ) { actionAtExit = action; }
332 bool isCleanDepsOnRemove();
333 void setCleanDepsOnRemove(
bool on );
335 bool isAllowVendorChange();
336 void setAllowVendorChange(
bool on );
342 bool isInstallRecommended();
343 void setInstallRecommended(
bool on );
344 bool InstallRecommended() {
return installRecommended; }
346 bool isVerifySystem();
347 void setVerifySystem(
bool on );
348 bool VerifySystem() {
return verifySystem; }
353 void setAutoCheck(
bool check) { autoCheck = check; }
354 bool AutoCheck() {
return autoCheck; }
392 void clearInfoArea();
394 wrect deleteReplacePoint();
396 void replaceFilter ( FilterMode mode);
397 void replaceFilterDescr (
bool b );
442 NCPkgMenuFilter::PatchFilter filter );
488 return verified_pkgs;
497 verified_pkgs.insert( pkgname);
506 if ( !verified_pkgs.empty() )
508 yuiMilestone() <<
"Discarding auto-dependency changes" << std::endl;
509 verified_pkgs.clear();
void showSelectionDependencies()
Definition NCPackageSelector.cc:1487
void showInformation()
Definition NCPackageSelector.cc:885
bool fillUpdateList()
Definition NCPackageSelector.cc:650
bool fillDefaultList()
Definition NCPackageSelector.cc:1871
void showPatchPkgVersions()
Definition NCPackageSelector.cc:979
bool showPendingLicenseAgreements()
Definition NCPackageSelector.cc:1362
void createYouLayout(YWidget *parent)
Definition NCPackageSelector.cc:1667
bool fillPatchPackages(NCPkgTable *pkgTable, ZyppObj youPatch)
Definition NCPackageSelector.cc:703
bool LinkHandler(std::string link)
Definition NCPackageSelector.cc:1180
bool fillPatchList(NCPkgMenuFilter::PatchFilter filter)
Definition NCPackageSelector.cc:583
bool showPackageDependencies(bool doit)
Definition NCPackageSelector.cc:1472
void showDownloadSize()
Definition NCPackageSelector.cc:1567
void showDiskSpace()
Definition NCPackageSelector.cc:1543
void updatePackageList()
Definition NCPackageSelector.cc:1529
bool anyRetractedPkgInstalled()
Definition NCPackageSelector.cc:1941
bool CancelHandler(const NCursesEvent &event)
Definition NCPackageSelector.cc:1222
void saveState()
Definition NCPackageSelector.cc:404
void insertVerifiedPkg(std::string pkgname)
Definition NCPackageSelector.h:495
void clearVerifiedPkgs()
Definition NCPackageSelector.h:504
bool showLicensePopup(std::string pkgName, std::string license)
Definition NCPackageSelector.cc:1493
void showPatchPackages()
Definition NCPackageSelector.cc:943
bool handleEvent(const NCursesEvent &event)
Definition NCPackageSelector.cc:462
std::set< std::string > getVerifiedPkgs()
Definition NCPackageSelector.h:486
bool showLicenseAgreement(ZyppSel &slbPtr, std::string licenseText)
Definition NCPackageSelector.cc:1423
void showVersionsList()
Definition NCPackageSelector.cc:908
virtual ~NCPackageSelector()
Definition NCPackageSelector.cc:148
void createPkgLayout(YWidget *parent, NCPkgTable::NCPkgTableType type)
Definition NCPackageSelector.cc:1750
bool OkButtonHandler(const NCursesEvent &event)
Definition NCPackageSelector.cc:1264
bool checkPatch(ZyppPatch patch, ZyppSel selectable, NCPkgMenuFilter::PatchFilter filter)
Definition NCPackageSelector.cc:773
bool fillPatchSearchList(const std::string &expr, bool checkName, bool checkSum)
Definition NCPackageSelector.cc:531
Definition NCPkgPopupDiskspace.h:180
Definition NCPkgFilterClassification.h:44
Definition NCPkgFilterInstSummary.h:39
Definition NCPkgFilterMain.h:40
Definition NCPkgFilterPattern.h:44
Definition NCPkgFilterSearch.h:51
Definition NCPkgFilterLocale.h:53
Definition NCPkgPackageDetails.h:35
Definition NCPkgFilterRepo.h:76
Definition NCPkgSearchSettings.h:35
Definition NCPkgSelMapper.h:39
Definition NCPkgFilterService.h:74
Definition NCPkgTable.h:215