41 #define YUILogComponent "ncurses-pkg"
44 #include "NCPkgMenuView.h"
45 #include "NCPackageSelector.h"
53 NCPkgMenuView::NCPkgMenuView (YWidget *parent, std::string label,
NCPackageSelector *pkger)
54 : NCMenuButton( parent, label)
60 NCPkgMenuView::~NCPkgMenuView()
65 void NCPkgMenuView::createLayout()
67 if ( !pkg->isYouMode() )
71 technical =
new YMenuItem( _(
"&Technical Data" ) );
72 description =
new YMenuItem( _(
"&Package Description" ) );
73 versions =
new YMenuItem( _(
"Package &Versions" ) );
74 files =
new YMenuItem( _(
"&File List" ) );
76 deps =
new YMenuItem( _(
"&Dependencies" ) );
78 items.push_back( technical );
79 items.push_back( description );
80 items.push_back( versions );
81 items.push_back( files );
82 items.push_back( deps );
91 patchDescription =
new YMenuItem( _(
"&Long Description" ) );
92 patchPackages =
new YMenuItem( _(
"&Package List" ) );
94 patchPkgVersions =
new YMenuItem( _(
"&Versions" ) );
96 items.push_back( patchDescription );
97 items.push_back( patchPackages );
98 items.push_back( patchPkgVersions );
104 bool NCPkgMenuView::handleEvent (
const NCursesEvent & event)
106 if ( !event.selection)
113 yuiWarning() <<
"package list empty" << endl;
117 int idx = pkgList->getCurrentItem();
122 if ( !pkgPtr || !slbPtr)
124 yuiWarning() <<
"no package pointer" << endl;
134 if ( event.selection == versions )
137 pkgList->setVisibleInfo (NCPkgTable::I_Versions);
139 else if ( event.selection == patchPackages )
142 pkgList->setVisibleInfo (NCPkgTable::I_PatchPkgs);
144 else if ( event.selection == patchPkgVersions )
147 pkgList->setVisibleInfo (NCPkgTable::I_PatchPkgs);
153 if ( !pkg->InfoText() )
156 if (event.selection == description)
158 pkg->InfoText()->longDescription( pkgPtr );
159 pkgList->setVisibleInfo (NCPkgTable::I_Descr);
161 else if (event.selection == technical )
163 pkg->InfoText()->technicalData( pkgPtr, slbPtr );
164 pkgList->setVisibleInfo (NCPkgTable::I_Technical);
166 else if (event.selection == files )
168 pkg->InfoText()->fileList( slbPtr );
169 pkgList->setVisibleInfo (NCPkgTable::I_Files);
171 else if (event.selection == deps )
173 pkg->InfoText()->dependencyList( pkgPtr, slbPtr );
174 pkgList->setVisibleInfo (NCPkgTable::I_Deps);
176 else if ( event.selection == patchDescription )
178 pkg->InfoText()->patchDescription( pkgPtr, slbPtr );
179 pkgList->setVisibleInfo (NCPkgTable::I_PatchDescr);