libyui-qt-pkg  2.45.6
YQPkgObjList Class Reference

Abstract base class to display a list of zypp::ResObjects. More...

#include <YQPkgObjList.h>

Inheritance diagram for YQPkgObjList:
Collaboration diagram for YQPkgObjList:

Classes

class  ExcludedItems
 
class  ExcludeRule
 

Public Slots

void addPkgObjItem (ZyppSel selectable, ZyppObj zyppObj=0)
 Add a zypp::ResObject to the list. More...
 
void addPassiveItem (const QString &name, const QString &summary=QString::null, FSize size=-1)
 Add a purely passive list item that has a name and optional summary and size.
 
virtual void pkgObjClicked (int button, QTreeWidgetItem *item, int col, const QPoint &pos)
 Dispatcher slot for mouse click: cycle status depending on column.
 
virtual void clear ()
 Reimplemented from QY2ListView: Emit currentItemChanged() signal after clearing the list.
 
virtual void updateActions (YQPkgObjListItem *item=0)
 Update the internal actions for the currently selected item ( if any ). More...
 
void sendUpdatePackages ()
 Emit an updatePackages() signal.
 
void selectNextItem ()
 Select the next item, i.e. More...
 
void sendStatusChanged ()
 Emit a statusChanged() signal for the specified zypp::ResObject.
 
virtual void message (const QString &text)
 Display a one-line message in the list.
 
void logExcludeStatistics ()
 Write statistics about excluded items to the log, if there are any.
 
void setCurrentInstall ()
 
void setCurrentDontInstall ()
 
void setCurrentKeepInstalled ()
 
void setCurrentDelete ()
 
void setCurrentUpdate ()
 
void setCurrentUpdateForce ()
 
void setCurrentTaboo ()
 
void setCurrentProtected ()
 
void showCurrentSolverInfo ()
 
void setListInstall ()
 
void setListDontInstall ()
 
void setListKeepInstalled ()
 
void setListDelete ()
 
void setListUpdate ()
 
void setListUpdateForce ()
 
void setListTaboo ()
 
void setListProtected ()
 

Signals

void currentItemChanged (ZyppSel selectable)
 Emitted when a zypp::ui::Selectable is selected. More...
 
void statusChanged ()
 Emitted when the status of a zypp::ResObject is changed.
 
void updatePackages ()
 Emitted when it's time to update displayed package information, e.g., package states.
 

Public Member Functions

QTreeWidgetItem * itemFromIndex (const QModelIndex &index) const
 
int iconCol () const
 
int statusCol () const
 
int nameCol () const
 
int summaryCol () const
 
int sizeCol () const
 
int versionCol () const
 
int instVersionCol () const
 
int brokenIconCol () const
 
int satisfiedIconCol () const
 
bool editable () const
 Return whether or not items in this list are generally editable, i.e. More...
 
void setEditable (bool editable=true)
 Set the list's editable status.
 
void setCurrentStatus (ZyppStatus newStatus, bool selectNextItem=false, bool ifNewerOnly=false)
 Sets the currently selected item's status. More...
 
void showSolverInfo ()
 Show solver information about the current selected item.
 
void setAllItemStatus (ZyppStatus newStatus, bool force=false)
 Sets the status of all (toplevel) list items to 'newStatus', if possible. More...
 
virtual QMenu * addAllInListSubMenu (QMenu *menu)
 Add a submenu "All in this list..." to 'menu'. More...
 
virtual QPixmap statusIcon (ZyppStatus status, bool enabled=true, bool bySelection=false)
 Returns the suitable icon for a zypp::ResObject status - the regular icon if 'enabled' is 'true' or the insensitive icon if 'enabled' is 'false. More...
 
virtual QString statusText (ZyppStatus status) const
 Returns a short (one line) descriptive text for a zypp::ResObject status.
 
void addExcludeRule (YQPkgObjList::ExcludeRule *rule)
 Add an exclude rule to this list.
 
void applyExcludeRules ()
 Apply all exclude rules of this list to all items, including those that are currently excluded.
 
void applyExcludeRules (QTreeWidgetItem *)
 Apply all exclude rules of this list to one item.
 
void exclude (YQPkgObjListItem *item, bool exclude)
 Exclude or include an item, i.e. More...
 

Public Attributes

QAction * actionSetCurrentInstall
 
QAction * actionSetCurrentDontInstall
 
QAction * actionSetCurrentKeepInstalled
 
QAction * actionSetCurrentDelete
 
QAction * actionSetCurrentUpdate
 
QAction * actionSetCurrentUpdateForce
 
QAction * actionSetCurrentTaboo
 
QAction * actionSetCurrentProtected
 
QAction * actionShowCurrentSolverInfo
 
QAction * actionSetListInstall
 
QAction * actionSetListDontInstall
 
QAction * actionSetListKeepInstalled
 
QAction * actionSetListDelete
 
QAction * actionSetListUpdate
 
QAction * actionSetListUpdateForce
 
QAction * actionSetListTaboo
 
QAction * actionSetListProtected
 
YQZyppSolverDialogPluginStub _plugin
 

Protected Types

typedef list< ExcludeRule * > ExcludeRuleList
 

Protected Slots

virtual void currentItemChangedInternal (QTreeWidgetItem *item)
 Dispatcher slot for selection change - internal only.
 
void slotCustomContextMenu (const QPoint &pos)
 slot that shows context menu when requested
 

Protected Member Functions

 YQPkgObjList (QWidget *parent)
 Constructor. More...
 
virtual ~YQPkgObjList ()
 Destructor.
 
virtual void keyPressEvent (QKeyEvent *ev)
 Event handler for keyboard input. More...
 
virtual QMenu * installedContextMenu ()
 Returns the context menu for items that are not installed. More...
 
virtual QMenu * notInstalledContextMenu ()
 Returns the context menu for items that are installed. More...
 
virtual void createNotInstalledContextMenu ()
 Create the context menu for items that are not installed.
 
virtual void createInstalledContextMenu ()
 Create the context menu for installed items.
 
void createActions ()
 Create the actions for the context menus. More...
 
QAction * createAction (ZyppStatus status, const QString &key=QString::null, bool enabled=false)
 Create an action based on a zypp::ResObject status - automatically retrieve the corresponding status icons (both sensitive and insensitive) and text. More...
 
QAction * createAction (const QString &text, const QPixmap &icon=QPixmap(), const QPixmap &insensitiveIcon=QPixmap(), const QString &key=QString::null, bool enabled=false)
 Low-level: Create an action. More...
 

Protected Attributes

int _iconCol
 
int _statusCol
 
int _nameCol
 
int _summaryCol
 
int _sizeCol
 
int _versionCol
 
int _instVersionCol
 
int _brokenIconCol
 
int _satisfiedIconCol
 
bool _editable
 
bool _debug
 
ExcludeRuleList _excludeRules
 
ExcludedItems_excludedItems
 
QMenu * _installedContextMenu
 
QMenu * _notInstalledContextMenu
 

Detailed Description

Abstract base class to display a list of zypp::ResObjects.

Handles most generic stuff like setting status etc.

Definition at line 68 of file YQPkgObjList.h.

Constructor & Destructor Documentation

YQPkgObjList::YQPkgObjList ( QWidget *  parent)
protected

Constructor.

Does not add any QListView columns!

Definition at line 71 of file YQPkgObjList.cc.

Here is the call graph for this function:

Member Function Documentation

QMenu * YQPkgObjList::addAllInListSubMenu ( QMenu *  menu)
virtual

Add a submenu "All in this list..." to 'menu'.

Returns the newly created submenu.

Reimplemented in YQPkgPatchList, and YQPkgList.

Definition at line 565 of file YQPkgObjList.cc.

void YQPkgObjList::addPkgObjItem ( ZyppSel  selectable,
ZyppObj  zyppObj = 0 
)
slot

Add a zypp::ResObject to the list.

Connect a filter's filterMatch() signal to this slot. Remember to connect filterStart() to clear() (inherited from QListView).

'zyppObj' has to be one of the objects of 'selectable'. If it is 0, selectable->theObject() will be used.

Intentionally NOT named addItem() so the calling class cannot confuse this method with overlaid methods of the same name that were simply forgotten to implement!

Definition at line 142 of file YQPkgObjList.cc.

Here is the call graph for this function:

QAction * YQPkgObjList::createAction ( ZyppStatus  status,
const QString &  key = QString::null,
bool  enabled = false 
)
protected

Create an action based on a zypp::ResObject status - automatically retrieve the corresponding status icons (both sensitive and insensitive) and text.

'key' is only a descriptive text, no true accelerator.

Definition at line 492 of file YQPkgObjList.cc.

Here is the call graph for this function:

QAction * YQPkgObjList::createAction ( const QString &  text,
const QPixmap &  icon = QPixmap(),
const QPixmap &  insensitiveIcon = QPixmap(),
const QString &  key = QString::null,
bool  enabled = false 
)
protected

Low-level: Create an action.

'key' is only a descriptive text, no true accelerator.

Definition at line 503 of file YQPkgObjList.cc.

void YQPkgObjList::createActions ( )
protected

Create the actions for the context menus.

Note: This is intentionally not virtual!

Definition at line 408 of file YQPkgObjList.cc.

Here is the call graph for this function:

void YQPkgObjList::currentItemChanged ( ZyppSel  selectable)
signal

Emitted when a zypp::ui::Selectable is selected.

May be called with a null poiner if no zypp::ResObject is selected.

bool YQPkgObjList::editable ( ) const
inline

Return whether or not items in this list are generally editable, i.e.

the user can change their status. Note that individual items can be set to non-editable even if the list is generally editable. Lists are editable by default.

Definition at line 110 of file YQPkgObjList.h.

void YQPkgObjList::exclude ( YQPkgObjListItem item,
bool  exclude 
)

Exclude or include an item, i.e.

remove it from the visible items and add it to the internal exclude list or vice versa.

Definition at line 903 of file YQPkgObjList.cc.

Here is the call graph for this function:

QMenu * YQPkgObjList::installedContextMenu ( )
protectedvirtual

Returns the context menu for items that are not installed.

Creates the menu upon the first call.

Definition at line 596 of file YQPkgObjList.cc.

Here is the call graph for this function:

void YQPkgObjList::keyPressEvent ( QKeyEvent *  ev)
protectedvirtual

Event handler for keyboard input.

Only very special keys are processed here.

Reimplemented from QListView / QWidget.

Reimplemented in YQPkgPatchList.

Definition at line 660 of file YQPkgObjList.cc.

Here is the call graph for this function:

QMenu * YQPkgObjList::notInstalledContextMenu ( )
protectedvirtual

Returns the context menu for items that are installed.

Creates the menu upon the first call.

Definition at line 586 of file YQPkgObjList.cc.

Here is the call graph for this function:

void YQPkgObjList::selectNextItem ( )
slot

Select the next item, i.e.

move the selection one item further down the list.

Definition at line 391 of file YQPkgObjList.cc.

void YQPkgObjList::setAllItemStatus ( ZyppStatus  newStatus,
bool  force = false 
)

Sets the status of all (toplevel) list items to 'newStatus', if possible.

Only one single statusChanged() signal is emitted.

'force' overrides sensible defaults like setting only zypp::ResObjects to 'update' that really come with a newer version.

Definition at line 343 of file YQPkgObjList.cc.

Here is the call graph for this function:

void YQPkgObjList::setCurrentStatus ( ZyppStatus  newStatus,
bool  selectNextItem = false,
bool  ifNewerOnly = false 
)

Sets the currently selected item's status.

Automatically selects the next item if 'selectNextItem' is 'true'.

Definition at line 291 of file YQPkgObjList.cc.

Here is the call graph for this function:

QPixmap YQPkgObjList::statusIcon ( ZyppStatus  status,
bool  enabled = true,
bool  bySelection = false 
)
virtual

Returns the suitable icon for a zypp::ResObject status - the regular icon if 'enabled' is 'true' or the insensitive icon if 'enabled' is 'false.

'bySelection' is relevant only for auto-states: This uses the icon for 'auto-by-selection" rather than the default auto-icon.

Definition at line 220 of file YQPkgObjList.cc.

void YQPkgObjList::updateActions ( YQPkgObjListItem item = 0)
virtualslot

Update the internal actions for the currently selected item ( if any ).

This only calls updateActions( YQPkgObjListItem * ) with the currently selected item as argument, so there is normally no need to reimplement this method, too, if the other one is reimplemented.

Definition at line 606 of file YQPkgObjList.cc.

Here is the call graph for this function:


The documentation for this class was generated from the following files: