Date: Friday, February 26, 2010 @ 15:50:07 Author: andrea Revision: 70450
updated for 4.4.1 Modified: kdebase-workspace/trunk/PKGBUILD Deleted: kdebase-workspace/trunk/kickoff.patch kdebase-workspace/trunk/krunner_lock.patch --------------------+ PKGBUILD | 21 +-- kickoff.patch | 268 --------------------------------------------------- krunner_lock.patch | 55 ---------- 3 files changed, 6 insertions(+), 338 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2010-02-26 20:50:04 UTC (rev 70449) +++ PKGBUILD 2010-02-26 20:50:07 UTC (rev 70450) @@ -2,8 +2,8 @@ # Maintainer: Pierre Schmitz <[email protected]> pkgname=kdebase-workspace -pkgver=4.4.0 -pkgrel=4 +pkgver=4.4.1 +pkgrel=1 pkgdesc="KDE Base Workspace" arch=('i686' 'x86_64') url='http://www.kde.org' @@ -26,30 +26,21 @@ 'etc/pam.d/kscreensaver') source=("http://download.kde.org/stable/${pkgver}/src/${pkgname}-${pkgver}.tar.bz2" 'kdm-zsh-profile.patch' 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' - 'fixpath.patch' 'terminate-server.patch' - 'kickoff.patch' 'krunner_lock.patch') -md5sums=('08179cba422038d4bb6537d63186bb23' + 'fixpath.patch' 'terminate-server.patch') +md5sums=('c5a5826ce0e8b0faa760971850b29111' '721e97031b62aee8914e8617e86f9235' - '3c155bc786a69d75f07e59f989ca93e7' + '363a36b63f84bac79959cfbefdb8309e' '10a490653b002e6f9e7476ff9d37c011' '552337fd9a3982d809ea16c7f0033d42' '367a3538f54db71f108b34cfa31088ac' '47a1f12673f66e62e2463efd7037a26a' - '814350c52c135d6f7bdada1e29223d38' - '5744a1c543d392c65a6fded1fee03cef' - 'd7bd22d5ab6228804046f1e0e9e78ba1') + '814350c52c135d6f7bdada1e29223d38') build() { cd ${srcdir}/${pkgname}-${pkgver} patch -p0 -i ${srcdir}/kdm-zsh-profile.patch || return 1 patch -p0 -i ${srcdir}/fixpath.patch || return 1 patch -p0 -i ${srcdir}/terminate-server.patch || return 1 - # this patch will be in KDE 4.4.1 - # see http://websvn.kde.org/?view=revision&sortby=date&revision=1087230 - patch -p0 -i ${srcdir}/kickoff.patch || return 1 - # this patch will be in KDE 4.4.1 - # see http://bugs.kde.org/show_bug.cgi?id=217882 - patch -p0 -i ${srcdir}/krunner_lock.patch || return 1 cd ${srcdir} mkdir build Deleted: kickoff.patch =================================================================== --- kickoff.patch 2010-02-26 20:50:04 UTC (rev 70449) +++ kickoff.patch 2010-02-26 20:50:07 UTC (rev 70450) @@ -1,268 +0,0 @@ -Index: plasma/desktop/applets/kickoff/core/systemmodel.cpp -=================================================================== ---- plasma/desktop/applets/kickoff/core/systemmodel.cpp (Revision 1087229) -+++ plasma/desktop/applets/kickoff/core/systemmodel.cpp (Revision 1087230) -@@ -52,21 +52,22 @@ - - struct UsageInfo { - UsageInfo() -- : used(0), -- available(0), -- dirty(true) {} -+ : used(0), -+ available(0) -+ {} - - quint64 used; - quint64 available; -- bool dirty; - }; - - class SystemModel::Private - { - public: - Private(SystemModel *parent) -- : q(parent) -- , placesModel(new KFilePlacesModel(parent)) { -+ : q(parent), -+ placesModel(new KFilePlacesModel(parent)), -+ currentPlacesModelUsageIndex(0) -+ { - q->setSourceModel(placesModel); - - connect(placesModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), -@@ -84,44 +85,15 @@ - << i18n("Places") - << i18n("Removable Storage") - << i18n("Storage"); -- loadApplications(); -- connect(&refreshTimer, SIGNAL(timeout()), -- q, SLOT(startRefreshingUsageInfo())); -- refreshTimer.start(10000); -- QTimer::singleShot(0, q, SLOT(startRefreshingUsageInfo())); - connect(KSycoca::self(), SIGNAL(databaseChanged(const QStringList&)), q, SLOT(reloadApplications())); - } - -- void queryFreeSpace(const QString& mountPoint) { -- KDiskFreeSpaceInfo freeSpace = KDiskFreeSpaceInfo::freeSpaceInfo(mountPoint); -- if (freeSpace.isValid()) -- q->freeSpaceInfoAvailable(freeSpace.mountPoint(), freeSpace.size() / 1024, -- freeSpace.used() / 1024, freeSpace.available() / 1024); -- } -- -- void loadApplications() { -- const QStringList apps = Kickoff::systemApplicationList(); -- appsList.clear(); -- -- foreach(const QString &app, apps) { -- KService::Ptr service = KService::serviceByStorageId(app); -- -- if (!service) { -- continue; -- } -- -- appsList << service; -- } -- //kDebug() << "*************" << appsList; -- } -- - SystemModel * const q; - KFilePlacesModel *placesModel; - QStringList topLevelSections; - KService::List appsList; -- QList<QString> mountPointsQueue; - QMap<QString, UsageInfo> usageByMountpoint; -- QTimer refreshTimer; -+ int currentPlacesModelUsageIndex; - }; - - SystemModel::SystemModel(QObject *parent) -@@ -137,7 +109,9 @@ - - QModelIndex SystemModel::mapFromSource(const QModelIndex &sourceIndex) const - { -- if (!sourceIndex.isValid()) return QModelIndex(); -+ if (!sourceIndex.isValid()) { -+ return QModelIndex(); -+ } - - QModelIndex parent; - -@@ -356,75 +330,60 @@ - } - } - --void SystemModel::startRefreshingUsageInfo() -+void SystemModel::refreshUsageInfo() - { -- if (!d->mountPointsQueue.isEmpty()) { -- return; -- } -- -- int rowCount = d->placesModel->rowCount(); -- for (int i = 0; i < rowCount; ++i) { -- QModelIndex index = d->placesModel->index(i, 0); -- if (d->placesModel->isDevice(index)) { -- Solid::Device dev = d->placesModel->deviceForIndex(index); -- Solid::StorageAccess *access = dev.as<Solid::StorageAccess>(); -- -- if (access && !access->filePath().isEmpty()) { -- d->mountPointsQueue << access->filePath(); -- } -- } -- } -- -- if (!d->mountPointsQueue.isEmpty()) { -- d->queryFreeSpace(d->mountPointsQueue.takeFirst()); -- } -+ d->currentPlacesModelUsageIndex = 0; -+ QTimer::singleShot(100, this, SLOT(refreshNextUsageInfo())); - } - --void SystemModel::reloadApplications() -+void SystemModel::stopRefreshingUsageInfo() - { -- d->loadApplications(); -+ d->currentPlacesModelUsageIndex = d->placesModel->rowCount(); - } - --void SystemModel::freeSpaceInfoAvailable(const QString& mountPoint, quint64, -- quint64 kbUsed, quint64 kbAvailable) -+void SystemModel::refreshNextUsageInfo() - { -- UsageInfo info; -- info.used = kbUsed; -- info.available = kbAvailable; -- -- d->usageByMountpoint[mountPoint] = info; -- -- // More to process -- if (!d->mountPointsQueue.isEmpty()) { -- d->queryFreeSpace(d->mountPointsQueue.takeFirst()); -+ if (d->currentPlacesModelUsageIndex >= d->placesModel->rowCount()) { - return; - } - -- // We're done, let's emit the changes -- int rowCount = d->placesModel->rowCount(); -- for (int i = 0; i < rowCount; ++i) { -- QModelIndex sourceIndex = d->placesModel->index(i, 0); -- if (d->placesModel->isDevice(sourceIndex)) { -- Solid::Device dev = d->placesModel->deviceForIndex(sourceIndex); -- Solid::StorageAccess *access = dev.as<Solid::StorageAccess>(); -+ QModelIndex sourceIndex = d->placesModel->index(d->currentPlacesModelUsageIndex, 0); -+ if (d->placesModel->isDevice(sourceIndex)) { -+ Solid::Device dev = d->placesModel->deviceForIndex(sourceIndex); -+ Solid::StorageAccess *access = dev.as<Solid::StorageAccess>(); - -- if (access && d->usageByMountpoint.contains(access->filePath())) { -- info = d->usageByMountpoint[access->filePath()]; -+ if (access && !access->filePath().isEmpty()) { -+ KDiskFreeSpaceInfo freeSpace = KDiskFreeSpaceInfo::freeSpaceInfo(access->filePath()); -+ if (freeSpace.isValid()) { -+ UsageInfo info; -+ info.used = freeSpace.used() / 1024; -+ info.available = freeSpace.available() / 1024; - -- if (info.dirty) { -- info.dirty = false; -- d->usageByMountpoint[access->filePath()] = info; -- } else { -- d->usageByMountpoint.remove(access->filePath()); -- } -- -+ d->usageByMountpoint[freeSpace.mountPoint()] = info; - QModelIndex index = mapFromSource(sourceIndex); - emit dataChanged(index, index); - } - } - } -+ -+ ++d->currentPlacesModelUsageIndex; -+ QTimer::singleShot(0, this, SLOT(refreshNextUsageInfo())); - } - -+void SystemModel::reloadApplications() -+{ -+ const QStringList apps = Kickoff::systemApplicationList(); -+ d->appsList.clear(); -+ -+ foreach (const QString &app, apps) { -+ KService::Ptr service = KService::serviceByStorageId(app); -+ -+ if (service) { -+ d->appsList << service; -+ } -+ } -+} -+ - void Kickoff::SystemModel::sourceDataChanged(const QModelIndex &start, const QModelIndex &end) - { - if (start.parent().isValid()) return; -Index: plasma/desktop/applets/kickoff/core/systemmodel.h -=================================================================== ---- plasma/desktop/applets/kickoff/core/systemmodel.h (Revision 1087229) -+++ plasma/desktop/applets/kickoff/core/systemmodel.h (Revision 1087230) -@@ -48,13 +48,12 @@ - virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; - virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; - virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; -+ void refreshUsageInfo(); -+ void stopRefreshingUsageInfo(); - - private Q_SLOTS: -- void startRefreshingUsageInfo(); -+ void refreshNextUsageInfo(); - void reloadApplications(); -- void freeSpaceInfoAvailable(const QString& mountPoint, quint64 kbSize, -- quint64 kbUsed, quint64 kbAvailable); -- - void sourceDataChanged(const QModelIndex &start, const QModelIndex &end); - void sourceRowsAboutToBeInserted(const QModelIndex &parent, int start, int end); - void sourceRowsInserted(const QModelIndex &parent, int start, int end); -Index: plasma/desktop/applets/kickoff/ui/launcher.cpp -=================================================================== ---- plasma/desktop/applets/kickoff/ui/launcher.cpp (Revision 1087229) -+++ plasma/desktop/applets/kickoff/ui/launcher.cpp (Revision 1087230) -@@ -228,7 +228,7 @@ - - void setupSystemView() - { -- SystemModel *model = new SystemModel(q); -+ systemModel = new SystemModel(q); - UrlItemView *view = new UrlItemView(); - ItemDelegate *delegate = new ItemDelegate(q); - delegate->setRoleMapping(Plasma::Delegate::SubTitleRole, SubTitleRole); -@@ -236,7 +236,7 @@ - view->setItemDelegate(delegate); - view->setItemStateProvider(delegate); - -- addView(i18n("Computer"), systemIcon(), model, view); -+ addView(i18n("Computer"), systemIcon(), systemModel, view); - } - - void setupSearchView() -@@ -448,6 +448,7 @@ - ApplicationModel *applicationModel; - RecentlyUsedModel *recentlyUsedModel; - KRunnerModel *searchModel; -+ SystemModel *systemModel; - LeaveModel *leaveModel; - SearchBar *searchBar; - QWidget *footer; -@@ -807,6 +808,7 @@ - { - Q_UNUSED(event) - reset(); -+ d->systemModel->stopRefreshingUsageInfo(); - } - - void Launcher::keyPressEvent(QKeyEvent *event) -@@ -828,6 +830,7 @@ - void Launcher::showEvent(QShowEvent *e) - { - d->searchBar->setFocus(); -+ d->systemModel->refreshUsageInfo(); - - QWidget::showEvent(e); - } Deleted: krunner_lock.patch =================================================================== --- krunner_lock.patch 2010-02-26 20:50:04 UTC (rev 70449) +++ krunner_lock.patch 2010-02-26 20:50:07 UTC (rev 70450) @@ -1,55 +0,0 @@ -Index: krunner/lock/lockdlg.cc -=================================================================== ---- krunner/lock/lockdlg.cc (Revision 1089240) -+++ krunner/lock/lockdlg.cc (Revision 1089241) -@@ -85,7 +85,8 @@ - : KDialog(parent, Qt::X11BypassWindowManagerHint), - mPlugin( plugin ), - mCapsLocked(-1), -- mUnlockingFailed(false) -+ mUnlockingFailed(false), -+ sNot(0) - { - QWidget* w = mainWidget(); - -@@ -431,6 +432,8 @@ - // - void PasswordDlg::gplugStart() - { -+ if (sNot) -+ return; - int sfd[2]; - char fdbuf[16]; - -@@ -461,6 +464,7 @@ - sFd = sfd[0]; - sNot = new QSocketNotifier(sFd, QSocketNotifier::Read, this); - connect(sNot, SIGNAL(activated(int)), SLOT(handleVerify())); -+ connect(sNot, SIGNAL(destroyed()), SLOT(slotNotifierDestroyed())); - } - - void PasswordDlg::gplugChanged() -@@ -647,6 +651,11 @@ - KDisplayManager().switchVT( itm->vt ); - } - -+void PasswordDlg::slotNotifierDestroyed() -+{ -+ sNot = 0; -+} -+ - void PasswordDlg::capsLocked() - { - unsigned int lmask; -Index: krunner/lock/lockdlg.h -=================================================================== ---- krunner/lock/lockdlg.h (Revision 1089240) -+++ krunner/lock/lockdlg.h (Revision 1089241) -@@ -63,6 +63,7 @@ - void slotOK(); - void slotActivity(); - void handleVerify(); -+ void slotNotifierDestroyed(); - - private: - void capsLocked();
