Hello community, here is the log from the commit of package kdebase3 checked in at Thu Oct 19 13:03:33 CEST 2006. -------- --- KDE/kdebase3/kdebase3.changes 2006-10-16 12:50:02.000000000 +0200 +++ /mounts/work_src_done/STABLE/kdebase3/kdebase3.changes 2006-10-17 17:22:51.000000000 +0200 @@ -1,0 +2,5 @@ +Tue Oct 17 17:22:33 CEST 2006 - llunak@suse.cz + +- updates to the systray ordering patch + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdebase3.spec ++++++ --- /var/tmp/diff_new_pack.yebjYO/_old 2006-10-19 13:02:53.000000000 +0200 +++ /var/tmp/diff_new_pack.yebjYO/_new 2006-10-19 13:02:53.000000000 +0200 @@ -45,13 +45,13 @@ %endif Conflicts: kdebase3-SuSE <= 9.0 PreReq: /bin/sh fileutils permissions -License: GPL +License: Other License(s), see package Group: System/GUI/KDE Summary: The KDE Core Components BuildRoot: %{_tmppath}/%{name}-%{version}-build Url: http://www.kde.org/ Version: 3.5.5 -Release: 11 +Release: 13 %define kde_version 3.5.5 Source0: kdebase-%{kde_version}.tar.bz2 Source3: startkde.suse.sh @@ -361,7 +361,7 @@ Summary: Set and list fileshares Group: System/Management Version: 2.0 -Release: 140 +Release: 142 %description -n fileshareset This package contains the the fileshareset utility to allow users to @@ -1456,6 +1456,8 @@ %endif %changelog -n kdebase3 +* Tue Oct 17 2006 - llunak@suse.cz +- updates to the systray ordering patch * Mon Oct 16 2006 - stbinner@suse.de - update kickoff.diff from SVN and break it into parts * Fri Oct 13 2006 - llunak@suse.cz ++++++ systray_order.diff ++++++ --- /var/tmp/diff_new_pack.yebjYO/_old 2006-10-19 13:02:56.000000000 +0200 +++ /var/tmp/diff_new_pack.yebjYO/_new 2006-10-19 13:02:56.000000000 +0200 @@ -1,5 +1,5 @@ ---- kicker/applets/systemtray/systemtrayapplet.cpp.sav 2006-09-18 17:59:58.000000000 +0200 -+++ kicker/applets/systemtray/systemtrayapplet.cpp 2006-10-04 17:04:36.000000000 +0200 +--- kicker/applets/systemtray/systemtrayapplet.cpp.sav 2006-10-17 15:19:32.000000000 +0200 ++++ kicker/applets/systemtray/systemtrayapplet.cpp 2006-10-17 16:46:29.000000000 +0200 @@ -205,13 +205,12 @@ void SystemTrayApplet::preferences() connect(m_settingsDialog, SIGNAL(finished()), this, SLOT(settingsDialogFinished())); @@ -18,9 +18,12 @@ TrayEmbedList::const_iterator it = m_shownWins.begin(); TrayEmbedList::const_iterator itEnd = m_shownWins.end(); -@@ -256,21 +255,19 @@ void SystemTrayApplet::applySettings() - conf->setGroup("HiddenTrayIcons"); - QString name; +@@ -253,26 +252,48 @@ void SystemTrayApplet::applySettings() + } + + KConfig *conf = config(); +- conf->setGroup("HiddenTrayIcons"); +- QString name; - // use the following snippet of code someday to implement ordering - // of icons @@ -28,18 +31,41 @@ - m_visibleIconList.clear(); - QListBoxItem* item = m_iconSelector->availableListBox()->firstItem(); - for (; item; item = item->next()) ++ // Save the sort order and hidden status using the window class (WM_CLASS) rather ++ // than window name (caption) - window name is i18n-ed, so it's for example ++ // not possible to create default settings. ++ // For backwards compatibility, name is kept as it is, class is preceded by '!'. ++ QMap< QString, QString > windowNameToClass; ++ for( TrayEmbedList::ConstIterator it = m_shownWins.begin(); ++ it != m_shownWins.end(); ++ ++it ) { ++ KWin::WindowInfo info = KWin::windowInfo( (*it)->embeddedWinId(), NET::WMName, NET::WM2WindowClass); ++ windowNameToClass[ info.name() ] = '!' + info.windowClassClass(); ++ } ++ for( TrayEmbedList::ConstIterator it = m_hiddenWins.begin(); ++ it != m_hiddenWins.end(); ++ ++it ) { ++ KWin::WindowInfo info = KWin::windowInfo( (*it)->embeddedWinId(), NET::WMName, NET::WM2WindowClass); ++ windowNameToClass[ info.name() ] = '!' + info.windowClassClass(); ++ } ++ ++ conf->setGroup("SortedTrayIcons"); + m_sortOrderIconList.clear(); + for(QListBoxItem* item = m_iconSelector->selectedListBox()->firstItem(); + item; + item = item->next()) { - m_visibleIconList.append(item->text()); -+ m_sortOrderIconList.append(item->text()); ++ if( windowNameToClass.contains(item->text())) ++ m_sortOrderIconList.append(windowNameToClass[item->text()]); ++ else ++ m_sortOrderIconList.append(item->text()); } - conf->writeEntry("Visible", m_visibleIconList); - selection.clear();*/ + conf->writeEntry("SortOrder", m_sortOrderIconList); ++ conf->setGroup("HiddenTrayIcons"); m_hiddenIconList.clear(); - QListBoxItem* item = m_iconSelector->selectedListBox()->firstItem(); - for (; item; item = item->next()) @@ -47,18 +73,49 @@ + item; + item = item->next()) { - m_hiddenIconList.append(item->text()); +- m_hiddenIconList.append(item->text()); ++ if( windowNameToClass.contains(item->text())) ++ m_hiddenIconList.append(windowNameToClass[item->text()]); ++ else ++ m_hiddenIconList.append(item->text()); } -@@ -520,6 +517,31 @@ void SystemTrayApplet::updateVisibleWins + conf->writeEntry("Hidden", m_hiddenIconList); + conf->sync(); +@@ -408,6 +429,9 @@ void SystemTrayApplet::loadSettings() + conf->setGroup("HiddenTrayIcons"); + m_hiddenIconList = conf->readListEntry("Hidden"); + ++ conf->setGroup("SortedTrayIcons"); ++ m_sortOrderIconList = conf->readListEntry("SortOrder"); ++ + //Note This setting comes from kdeglobal. + conf->setGroup("System Tray"); + m_iconSize = conf->readNumEntry("systrayIconWidth", 22); +@@ -498,7 +522,9 @@ bool SystemTrayApplet::isWinManaged(WId + + bool SystemTrayApplet::shouldHide(WId w) + { +- return m_hiddenIconList.find(KWin::windowInfo(w).name()) != m_hiddenIconList.end(); ++ return m_hiddenIconList.find(KWin::windowInfo(w).name()) != m_hiddenIconList.end() ++ || m_hiddenIconList.find('!'+KWin::windowInfo(w,0,NET::WM2WindowClass).windowClassClass()) ++ != m_hiddenIconList.end(); + } + + void SystemTrayApplet::updateVisibleWins() +@@ -520,6 +546,35 @@ void SystemTrayApplet::updateVisibleWins (*emb)->hide(); } } + -+ QMap< QXEmbed*, QString > names; // cache names ++ QMap< QXEmbed*, QString > names; // cache window names and classes ++ QMap< QXEmbed*, QString > classes; + for( TrayEmbedList::const_iterator it = m_shownWins.begin(); + it != m_shownWins.end(); -+ ++it ) -+ names[ *it ] = KWin::windowInfo((*it)->embeddedWinId()).name(); ++ ++it ) { ++ KWin::WindowInfo info = KWin::windowInfo((*it)->embeddedWinId(),NET::WMName,NET::WM2WindowClass); ++ names[ *it ] = info.name(); ++ classes[ *it ] = '!'+info.windowClassClass(); ++ } + TrayEmbedList newList; + for( QStringList::const_iterator it1 = m_sortOrderIconList.begin(); + it1 != m_sortOrderIconList.end(); @@ -66,7 +123,7 @@ + for( TrayEmbedList::iterator it2 = m_shownWins.begin(); + it2 != m_shownWins.end(); + ) { -+ if( names[ *it2 ] == *it1 ) { ++ if( (*it1).startsWith("!") ? classes[ *it2 ] == *it1 : names[ *it2 ] == *it1 ) { + newList.append( *it2 ); // don't bail out, there may be multiple ones + it2 = m_shownWins.erase( it2 ); + } else @@ -81,8 +138,8 @@ } void SystemTrayApplet::toggleExpanded() ---- kicker/applets/systemtray/systemtrayapplet.h.sav 2006-09-18 17:59:58.000000000 +0200 -+++ kicker/applets/systemtray/systemtrayapplet.h 2006-10-04 16:19:58.000000000 +0200 +--- kicker/applets/systemtray/systemtrayapplet.h.sav 2006-04-13 14:02:58.000000000 +0200 ++++ kicker/applets/systemtray/systemtrayapplet.h 2006-10-17 15:20:05.000000000 +0200 @@ -93,6 +93,7 @@ private: TrayEmbedList m_shownWins; TrayEmbedList m_hiddenWins; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org