[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/apps/plasma/applets/folderview
From: Jesse Lee Zamora <xtremek2008 () aim ! com>
Date: 2008-12-01 0:45:44
Message-ID: 1228092344.945614.7675.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 891031 by jzamora:
BUG: 175191
When the user accidentally deleted a folder the Folder View is displaying, the
folderview just resets to the default folder.
M +18 -0 folderview.cpp
M +3 -0 folderview.h
M +7 -1 iconview.cpp
M +1 -0 iconview.h
--- trunk/KDE/kdebase/apps/plasma/applets/folderview/folderview.cpp #891030:891031
@@ -397,6 +397,7 @@
// The label is not shown when the applet is acting as a containment,
// so don't confuse the user by making it editable.
if (isContainment()) {
+ uiDisplay.lblCustomLabel->hide();
uiDisplay.labelEdit->hide();
}
@@ -736,6 +737,7 @@
connect(m_iconView, SIGNAL(indexesMoved(QModelIndexList)), \
SLOT(indexesMoved(QModelIndexList)));
connect(m_iconView, SIGNAL(contextMenuRequest(QWidget*,QPoint)), \
SLOT(contextMenuRequest(QWidget*,QPoint))); connect(m_iconView, SIGNAL(busy(bool)), \
SLOT(setBusy(bool))); + connect(m_iconView, SIGNAL(checkFolder()), \
SLOT(checkFolder()));
FolderViewAdapter *adapter = new FolderViewAdapter(m_iconView);
m_previewGenerator = new KFilePreviewGenerator(adapter, m_model);
@@ -1457,6 +1459,22 @@
}
}
+void FolderView::checkFolder()
+{
+ QDir dir(m_url.path());
+
+ if (!dir.exists()) {
+ if (isContainment()) {
+ setUrl(KUrl("desktop:/"));
+ } else {
+ setUrl(KUrl(QDir::homePath()));
+ }
+
+ m_dirModel->dirLister()->openUrl(m_url);
+ updateIconWidget();
+ }
+}
+
void FolderView::updateIconWidget()
{
if (!m_iconWidget) {
--- trunk/KDE/kdebase/apps/plasma/applets/folderview/folderview.h #891030:891031
@@ -109,7 +109,10 @@
void clipboardDataChanged();
void updateScreenRegion();
void showPreviewConfigDialog();
+
+ void checkFolder();
+
private:
void setupIconView();
void setUrl(const KUrl &url);
--- trunk/KDE/kdebase/apps/plasma/applets/folderview/iconview.cpp #891030:891031
@@ -361,6 +361,7 @@
void IconView::rowsRemoved(const QModelIndex &parent, int first, int last)
{
Q_UNUSED(parent)
+
m_regionCache.clear();
if (!m_layoutBroken) {
@@ -384,6 +385,9 @@
m_items.remove(first, last - first + 1);
m_validRows = m_items.size();
}
+
+ // check the folder to see if it exists!!!
+ emit checkFolder();
}
void IconView::modelReset()
@@ -440,6 +444,9 @@
}
emit busy(true);
+
+ // check the folder to see if it exists!!!
+ emit checkFolder();
}
void IconView::listingClear()
@@ -974,7 +981,6 @@
{
painter->drawPixmap(cr.topLeft(), m_pixmap);
}
-
if (!m_errorMessage.isEmpty()) {
paintErrorMessage(painter, cr, m_errorMessage);
}
--- trunk/KDE/kdebase/apps/plasma/applets/folderview/iconview.h #891030:891031
@@ -114,6 +114,7 @@
void indexesMoved(const QModelIndexList &indexes);
void contextMenuRequest(QWidget *widget, const QPoint &screenPos);
void busy(bool);
+ void checkFolder();
protected:
QPointF mapToViewport(const QPointF &point) const;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic