libyui-qt-pkg
 
Loading...
Searching...
No Matches
YQPkgObjList Class Reference

Abstract base class to display a list of zypp::ResObjects. Handles most generic stuff like setting status etc. More...

#include <YQPkgObjList.h>

Inheritance diagram for YQPkgObjList:
Collaboration diagram for YQPkgObjList:

Classes

class  ExcludeRule
 

Public Slots

void addPkgObjItem (ZyppSel selectable, ZyppObj zyppObj=0)
 
void addPassiveItem (const QString &name, const QString &summary=QString(), FSize size=-1)
 
virtual void pkgObjClicked (int button, QTreeWidgetItem *item, int col, const QPoint &pos)
 
virtual void clear ()
 
virtual void updateActions (YQPkgObjListItem *item=0)
 
void sendUpdatePackages ()
 
void selectNextItem ()
 
void sendStatusChanged ()
 
virtual void message (const QString &text)
 
void logExcludeStatistics ()
 
void maybeSetFocus ()
 
void setCurrentInstall ()
 
void setCurrentDontInstall ()
 
void setCurrentKeepInstalled ()
 
void setCurrentDelete ()
 
void setCurrentUpdate ()
 
void setCurrentUpdateForce ()
 
void setCurrentTaboo ()
 
void setCurrentProtected ()
 
void setListInstall ()
 
void setListDontInstall ()
 
void setListKeepInstalled ()
 
void setListDelete ()
 
void setListUpdate ()
 
void setListUpdateForce ()
 
void setListTaboo ()
 
void setListProtected ()
 

Signals

void currentItemChanged (ZyppSel selectable)
 
void statusChanged ()
 
void updatePackages ()
 

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
 
void setEditable (bool editable=true)
 
void setCurrentStatus (ZyppStatus newStatus, bool selectNextItem=false, bool ifNewerOnly=false)
 
void setAllItemStatus (ZyppStatus newStatus, bool force=false)
 
virtual QMenu * addAllInListSubMenu (QMenu *menu)
 
virtual QPixmap statusIcon (ZyppStatus status, bool enabled=true, bool bySelection=false)
 
virtual QString statusText (ZyppStatus status) const
 
void addExcludeRule (YQPkgObjList::ExcludeRule *rule)
 
void applyExcludeRules ()
 
void applyExcludeRules (QTreeWidgetItem *)
 
void exclude (YQPkgObjListItem *item, bool exclude)
 

Public Attributes

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

Protected Types

typedef list< ExcludeRule * > ExcludeRuleList
 

Protected Slots

virtual void currentItemChangedInternal (QTreeWidgetItem *item)
 
void slotCustomContextMenu (const QPoint &pos)
 

Protected Member Functions

 YQPkgObjList (QWidget *parent)
 
virtual ~YQPkgObjList ()
 
virtual void keyPressEvent (QKeyEvent *ev)
 
virtual QMenu * installedContextMenu ()
 
virtual QMenu * notInstalledContextMenu ()
 
bool shouldKeepFocus (QWidget *widget) const
 
virtual void createNotInstalledContextMenu ()
 
virtual void createInstalledContextMenu ()
 
void createActions ()
 
QAction * createAction (ZyppStatus status, const QString &key=QString(), bool enabled=false)
 
QAction * createAction (const QString &text, const QPixmap &icon=QPixmap(), const QPixmap &insensitiveIcon=QPixmap(), const QString &key=QString(), bool enabled=false)
 

Protected Attributes

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

Detailed Description

Abstract base class to display a list of zypp::ResObjects. Handles most generic stuff like setting status etc.

Constructor & Destructor Documentation

◆ YQPkgObjList()

YQPkgObjList::YQPkgObjList ( QWidget * parent)
protected

Constructor. Does not add any QListView columns!

◆ ~YQPkgObjList()

YQPkgObjList::~YQPkgObjList ( )
protectedvirtual

Destructor

Member Function Documentation

◆ addAllInListSubMenu()

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

Add a submenu "All in this list..." to 'menu'. Returns the newly created submenu.

Reimplemented in YQPkgList, and YQPkgPatchList.

◆ addExcludeRule()

void YQPkgObjList::addExcludeRule ( YQPkgObjList::ExcludeRule * rule)

Add an exclude rule to this list.

◆ addPassiveItem

void YQPkgObjList::addPassiveItem ( const QString & name,
const QString & summary = QString(),
FSize size = -1 )
slot

Add a purely passive list item that has a name and optional summary and size.

◆ addPkgObjItem

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!

◆ applyExcludeRules() [1/2]

void YQPkgObjList::applyExcludeRules ( )

Apply all exclude rules of this list to all items, including those that are currently excluded.

◆ applyExcludeRules() [2/2]

void YQPkgObjList::applyExcludeRules ( QTreeWidgetItem * listViewItem)

Apply all exclude rules of this list to one item.

◆ clear

void YQPkgObjList::clear ( )
virtualslot

Reimplemented from QY2ListView: Emit currentItemChanged() signal after clearing the list.

◆ createAction() [1/2]

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

Low-level: Create an action. 'key' is only a descriptive text, no true accelerator.

◆ createAction() [2/2]

QAction * YQPkgObjList::createAction ( ZyppStatus status,
const QString & key = QString(),
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.

◆ createActions()

void YQPkgObjList::createActions ( )
protected

Create the actions for the context menus. Note: This is intentionally not virtual!

◆ createInstalledContextMenu()

void YQPkgObjList::createInstalledContextMenu ( )
protectedvirtual

Create the context menu for installed items.

Reimplemented in YQPkgList, and YQPkgPatchList.

◆ createNotInstalledContextMenu()

void YQPkgObjList::createNotInstalledContextMenu ( )
protectedvirtual

Create the context menu for items that are not installed.

Reimplemented in YQPkgList, and YQPkgPatchList.

◆ currentItemChanged

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.

◆ currentItemChangedInternal

void YQPkgObjList::currentItemChangedInternal ( QTreeWidgetItem * item)
protectedvirtualslot

Dispatcher slot for selection change - internal only.

◆ editable()

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.

◆ exclude()

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.

◆ installedContextMenu()

QMenu * YQPkgObjList::installedContextMenu ( )
protectedvirtual

Returns the context menu for items that are not installed. Creates the menu upon the first call.

◆ keyPressEvent()

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.

◆ logExcludeStatistics

void YQPkgObjList::logExcludeStatistics ( )
slot

Write statistics about excluded items to the log, if there are any.

◆ maybeSetFocus

void YQPkgObjList::maybeSetFocus ( )
slot

Set the keyboard focus to this list unless the focus is currently on a similar widget that relies on heavy keyboard interaction, like another list.

◆ message

void YQPkgObjList::message ( const QString & text)
virtualslot

Display a one-line message in the list.

◆ notInstalledContextMenu()

QMenu * YQPkgObjList::notInstalledContextMenu ( )
protectedvirtual

Returns the context menu for items that are installed. Creates the menu upon the first call.

◆ pkgObjClicked

void YQPkgObjList::pkgObjClicked ( int button,
QTreeWidgetItem * item,
int col,
const QPoint & pos )
virtualslot

Dispatcher slot for mouse click: cycle status depending on column.

◆ selectNextItem

void YQPkgObjList::selectNextItem ( )
slot

Select the next item, i.e. move the selection one item further down the list.

◆ sendStatusChanged

void YQPkgObjList::sendStatusChanged ( )
inlineslot

Emit a statusChanged() signal for the specified zypp::ResObject.

◆ sendUpdatePackages

void YQPkgObjList::sendUpdatePackages ( )
inlineslot

Emit an updatePackages() signal.

◆ setAllItemStatus()

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.

◆ setCurrentStatus()

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

◆ setEditable()

void YQPkgObjList::setEditable ( bool editable = true)
inline

Set the list's editable status.

◆ shouldKeepFocus()

bool YQPkgObjList::shouldKeepFocus ( QWidget * widget) const
protected

Return 'true' if 'widget' should keep the keyboard focus, i.e. it's also some kind of list widget that has internal navigation with the cursor keys; like another list or tree widget.

◆ slotCustomContextMenu

void YQPkgObjList::slotCustomContextMenu ( const QPoint & pos)
protectedslot

slot that shows context menu when requested

◆ statusChanged

void YQPkgObjList::statusChanged ( )
signal

Emitted when the status of a zypp::ResObject is changed.

◆ statusIcon()

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.

◆ statusText()

QString YQPkgObjList::statusText ( ZyppStatus status) const
virtual

Returns a short (one line) descriptive text for a zypp::ResObject status.

◆ updateActions

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.

◆ updatePackages

void YQPkgObjList::updatePackages ( )
signal

Emitted when it's time to update displayed package information, e.g., package states.


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