Author: coolo
Date: Fri Feb 15 16:47:12 2008
New Revision: 44539
URL: http://svn.opensuse.org/viewcvs/yast?rev=44539&view=rev
Log:
don't crash, but that's about what I can test atm
Modified:
trunk/qt-pkg/src/YQPkgLangList.cc
trunk/qt-pkg/src/YQPkgLangList.h
trunk/qt-pkg/src/YQPkgObjList.cc
trunk/qt-pkg/src/YQPkgObjList.h
Modified: trunk/qt-pkg/src/YQPkgLangList.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt-pkg/src/YQPkgLangList.cc?rev=44539&r1=44538&r2=44539&view=diff
==============================================================================
--- trunk/qt-pkg/src/YQPkgLangList.cc (original)
+++ trunk/qt-pkg/src/YQPkgLangList.cc Fri Feb 15 16:47:12 2008
@@ -71,6 +71,10 @@
yuiDebug() << "Filling language list" << endl;
zypp::LocaleSet locales = zypp::getZYpp()->pool().getAvailableLocales();
+#warning FIXME: had to hardcode examples for now
+ locales.insert( zypp::Locale( "de_DE" ) );
+ locales.insert( zypp::Locale( "de" ) );
+
for ( zypp::LocaleSet::const_iterator it = locales.begin();
it != locales.end();
++it )
@@ -134,9 +138,10 @@
YQPkgLangListItem::YQPkgLangListItem( YQPkgLangList * langList,
const zypp::Locale &lang )
- : YQPkgObjListItem( langList, 0 )
+ : YQPkgObjListItem( langList )
, _zyppLang( lang )
{
+ init();
}
@@ -153,7 +158,44 @@
solveResolvableCollections();
}
+void
+YQPkgLangListItem::init()
+{
+ // DO NOT CALL PARENT CLASS
+ _debugIsBroken = false;
+ _debugIsSatisfied = false;
+ _candidateIsNewer = false;
+ _installedIsNewer = false;
+
+ if ( nameCol() >= 0 ) setText( nameCol(), _zyppLang.code() );
+ if ( summaryCol() >= 0 ) setText( summaryCol(), _zyppLang.name() );
+
+ setStatusIcon();
+}
+
+ZyppStatus YQPkgLangListItem::status() const
+{
+ if ( zypp::getZYpp()->pool().isRequestedLocale( _zyppLang ) )
+ return S_Install;
+ else
+ return S_NoInst;
+}
+
+bool YQPkgLangListItem::bySelection() const
+{
+ return zypp::getZYpp()->pool().isRequestedLocale( _zyppLang );
+}
+void YQPkgLangListItem::cycleStatus()
+{
+ if ( zypp::getZYpp()->pool().isRequestedLocale( _zyppLang ) )
+ {
+ zypp::getZYpp()->pool().eraseRequestedLocale( _zyppLang );
+ } else {
+ zypp::getZYpp()->pool().addRequestedLocale( _zyppLang );
+ }
+ setStatusIcon();
+}
#include "YQPkgLangList.moc"
Modified: trunk/qt-pkg/src/YQPkgLangList.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt-pkg/src/YQPkgLangList.h?rev=44539&r1=44538&r2=44539&view=diff
==============================================================================
--- trunk/qt-pkg/src/YQPkgLangList.h (original)
+++ trunk/qt-pkg/src/YQPkgLangList.h Fri Feb 15 16:47:12 2008
@@ -128,11 +128,28 @@
**/
zypp::Locale zyppLang() const { return _zyppLang; }
+ /// overloaded
+ virtual void init();
// Columns
int statusCol() const { return _langList->statusCol(); }
+ /**
+ * Returns the (binary RPM) package status
+ **/
+ virtual ZyppStatus status() const;
+
+ /**
+ * Returns 'true' if this selectable's status is set by a selection
+ * (rather than by the user or by the dependency solver).
+ **/
+ virtual bool bySelection() const;
+
+ /**
+ * Cycle the package status to the next valid value.
+ **/
+ virtual void cycleStatus();
protected:
Modified: trunk/qt-pkg/src/YQPkgObjList.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt-pkg/src/YQPkgObjList.cc?rev=44539&r1=44538&r2=44539&view=diff
==============================================================================
--- trunk/qt-pkg/src/YQPkgObjList.cc (original)
+++ trunk/qt-pkg/src/YQPkgObjList.cc Fri Feb 15 16:47:12 2008
@@ -889,6 +889,17 @@
}
+YQPkgObjListItem::YQPkgObjListItem( YQPkgObjList * pkgObjList )
+ : QY2ListViewItem( pkgObjList )
+ , _pkgObjList( pkgObjList )
+ , _selectable( 0 )
+ , _zyppObj( 0 )
+ , _editable( true )
+ , _excluded( false )
+{
+}
+
+
YQPkgObjListItem::~YQPkgObjListItem()
{
// NOP
@@ -1078,7 +1089,7 @@
if ( isBroken() )
{
setIcon( brokenIconCol(), YQIconPool::warningSign() );
-
+
yuiWarning() << "Broken object: " << _selectable->theObj()->name()
<< " - " << _selectable->theObj()->summary()
<< endl;
Modified: trunk/qt-pkg/src/YQPkgObjList.h
URL: http://svn.opensuse.org/viewcvs/yast/trunk/qt-pkg/src/YQPkgObjList.h?rev=44539&r1=44538&r2=44539&view=diff
==============================================================================
--- trunk/qt-pkg/src/YQPkgObjList.h (original)
+++ trunk/qt-pkg/src/YQPkgObjList.h Fri Feb 15 16:47:12 2008
@@ -221,7 +221,7 @@
* Write statistics about excluded items to the log, if there are any.
**/
void logExcludeStatistics();
-
+
// Direct access to some states for menu actions
@@ -344,7 +344,7 @@
bool _debug;
typedef list