summaryrefslogtreecommitdiffstats
path: root/opensuse/tdebase/kdesktop_icons.diff
diff options
context:
space:
mode:
authorRobert Xu <robxu9@gmail.com>2011-11-10 18:04:39 -0500
committerRobert Xu <robxu9@gmail.com>2011-11-10 18:04:39 -0500
commit21fcfa3348213aa87f0e3aef62ca4720c6d31cb7 (patch)
tree2cfb64c59322628e613ed0895e3c3694d3abe6bd /opensuse/tdebase/kdesktop_icons.diff
parent8667643bff14a60d8571c599efd3e48bed3e3b12 (diff)
downloadtde-packaging-21fcfa3348213aa87f0e3aef62ca4720c6d31cb7.tar.gz
tde-packaging-21fcfa3348213aa87f0e3aef62ca4720c6d31cb7.zip
initial commit to suse branch: eclipse integration
Diffstat (limited to 'opensuse/tdebase/kdesktop_icons.diff')
-rw-r--r--opensuse/tdebase/kdesktop_icons.diff311
1 files changed, 0 insertions, 311 deletions
diff --git a/opensuse/tdebase/kdesktop_icons.diff b/opensuse/tdebase/kdesktop_icons.diff
deleted file mode 100644
index 5d208b0dd..000000000
--- a/opensuse/tdebase/kdesktop_icons.diff
+++ /dev/null
@@ -1,311 +0,0 @@
-Index: kdesktop/KDesktopIface.h
-===================================================================
---- kdesktop/KDesktopIface.h.orig
-+++ kdesktop/KDesktopIface.h
-@@ -107,6 +107,35 @@ k_dcop:
- * space for desktop icons
- */
- virtual void desktopIconsAreaChanged(const QRect &area, int screen) = 0;
-+
-+ /**
-+ * Find the next free place for a not yet existing icon, so it fits
-+ * in the user arrangement. Basicly prepare for icons to be moved in.
-+ * It will try to find a place in the virtual grid near col,row
-+ * where no other icon is.
-+ *
-+ * If you specify -1 for row or column, it will try to find the next
-+ * free room where no other icon follows. E.g. if you specify column
-+ * = -1 and row = 0, kdesktop will find the next vertical placement
-+ * so that the icon appears at the end of the existing icons preferable
-+ * in the first column. If the first column is full, it will find the
-+ * next free room in the second column.
-+ *
-+ * If you specify both column and row, kdesktop won't care for aligning,
-+ * or surrounding icons, but try to find the free place near the given
-+ * grid place (e.g. specify 0,0 to find the nearest place in the left
-+ * upper corner).
-+ */
-+ virtual QPoint findPlaceForIcon( int column, int row) = 0;
-+
-+ /// copy the desktop file in the Desktop and place it at x, y
-+ virtual void addIcon(const QString &url, int x, int y) = 0;
-+
-+ /// same with specific destination
-+ virtual void addIcon(const QString &url, const QString &dest, int x, int y) = 0;
-+
-+ /// remove the desktop file (either full path or relative)
-+ virtual void removeIcon(const QString &dest) = 0;
- };
-
- #endif
-Index: kdesktop/desktop.cc
-===================================================================
---- kdesktop/desktop.cc.orig
-+++ kdesktop/desktop.cc
-@@ -32,6 +32,9 @@
- #include <unistd.h>
- #include <kcolordrag.h>
- #include <kurldrag.h>
-+#include <stdlib.h>
-+#include <kio/job.h>
-+#include <qfile.h>
-
- #include <qdir.h>
- #include <qevent.h>
-@@ -58,6 +61,7 @@
- #include <kglobalsettings.h>
- #include <kpopupmenu.h>
- #include <kapplication.h>
-+#include <kdirlister.h>
- // Create the equivalent of KAccelBase::connectItem
- // and then remove this include and fix reconnects in initRoot() -- ellis
- //#include <kaccelbase.h>
-@@ -983,4 +987,47 @@ bool KDesktop::event(QEvent * e)
- return QWidget::event(e);
- }
-
-+QPoint KDesktop::findPlaceForIcon( int column, int row )
-+{
-+ if (m_pIconView)
-+ return m_pIconView->findPlaceForIcon(column, row);
-+ else
-+ return QPoint(-1, -1);
-+}
-+
-+void KDesktop::addIcon(const QString & _url, int x, int y)
-+{
-+ addIcon( _url, KGlobalSettings::desktopPath(), x, y );
-+}
-+
-+void KDesktop::addIcon(const QString & _url, const QString & _dest, int x, int y)
-+{
-+ QString filename = _url.mid(_url.findRev('/') + 1);
-+
-+ QValueList<KIO::CopyInfo> files;
-+ KIO::CopyInfo i;
-+ i.uSource = KURL::fromPathOrURL( _url );
-+ i.uDest = KURL::fromPathOrURL( _dest );
-+ i.uDest.addPath( filename );
-+ files.append(i);
-+ if (!QFile::exists(i.uDest.prettyURL().replace("file://",QString::null))) { m_pIconView->slotAboutToCreate( QPoint( x, y ), files );
-+ KIO::copy( i.uSource, i.uDest, false ); }
-+
-+// m_pIconView->addFuturePosition(filename, x, y);
-+ // qDebug("addIcon %s %s %d %d", _url.latin1(), _dest.latin1(), x, y);
-+// system(QString("cp \"%1\" \"%2/%3\"").arg(KURL(_url).path()).arg(KURL(_dest).path()).arg(filename).latin1());
-+// m_pIconView->update( _dest );
-+}
-+
-+void KDesktop::removeIcon(const QString &_url)
-+{
-+ if (_url.at(0) != '/') {
-+ qDebug("removeIcon with relative path not supported for now");
-+ return;
-+ }
-+ unlink(KURL(_url).path().latin1());
-+ QString dest = _url.left(_url.findRev('/') + 1);
-+ m_pIconView->update( dest );
-+}
-+
- #include "desktop.moc"
-Index: kdesktop/desktop.h
-===================================================================
---- kdesktop/desktop.h.orig
-+++ kdesktop/desktop.h
-@@ -164,6 +164,11 @@ protected:
- virtual void setIconsEnabled( bool enable );
- virtual bool event ( QEvent * e );
-
-+ virtual QPoint findPlaceForIcon( int column, int row);
-+ virtual void addIcon(const QString &url, int x, int y);
-+ virtual void addIcon(const QString &url, const QString &dest, int x, int y);
-+ virtual void removeIcon(const QString &url);
-+
- private slots:
- void desktopResized();
-
-Index: kdesktop/kdiconview.cc
-===================================================================
---- kdesktop/kdiconview.cc.orig
-+++ kdesktop/kdiconview.cc
-@@ -962,6 +962,18 @@ void KDIconView::slotNewItems( const KFi
- kdDebug(1214) << "KDIconView::slotNewItems count=" << entries.count() << endl;
- KFileItemListIterator it(entries);
- KFileIVI* fileIVI = 0L;
-+
-+ if (m_nextItemPos.isNull() && !m_dotDirectory) {
-+ // Not found, we'll need to save the new pos
-+ kdDebug(1214)<<"Neither a drop position stored nor m_dotDirectory set"<<endl;
-+ m_dotDirectory = new KSimpleConfig( dotDirectoryPath(), true );
-+ // recursion
-+ slotNewItems( entries );
-+ delete m_dotDirectory;
-+ m_dotDirectory = 0;
-+ return;
-+ }
-+
- for (; it.current(); ++it)
- {
- KURL url = it.current()->url();
-@@ -1026,15 +1038,6 @@ void KDIconView::slotNewItems( const KFi
- kdDebug(1214)<<"Using saved position"<<endl;
- }
- }
-- else
-- {
-- // Not found, we'll need to save the new pos
-- kdDebug(1214)<<"slotNewItems(): New item without position information, try to find a sane location"<<endl;
--
-- moveToFreePosition(fileIVI);
--
-- m_bNeedSave = true;
-- }
- }
- }
-
-@@ -1638,6 +1641,98 @@ void KDIconView::moveToFreePosition(QIco
- }
-
-
-+QPoint KDIconView::findPlaceForIconCol( int column, int dx, int dy)
-+{
-+ if (column < 0)
-+ return QPoint();
-+
-+ QRect rect;
-+ rect.moveTopLeft( QPoint(column * dx, 0) );
-+ rect.setWidth(dx);
-+ rect.setHeight(dy);
-+
-+ if (rect.right() > viewport()->width())
-+ return QPoint();
-+
-+ while ( rect.bottom() < viewport()->height() - spacing() )
-+ {
-+ if ( !isFreePosition(0,rect) )
-+ rect.moveBy(0, rect.height());
-+ else
-+ return rect.topLeft();
-+ }
-+
-+ return QPoint();
-+}
-+
-+QPoint KDIconView::findPlaceForIconRow( int row, int dx, int dy )
-+{
-+ if (row < 0)
-+ return QPoint();
-+
-+ QRect rect;
-+ rect.moveTopLeft(QPoint(0, row * dy));
-+ rect.setWidth(dx);
-+ rect.setHeight(dy);
-+
-+ if (rect.bottom() > viewport()->height())
-+ return QPoint();
-+
-+ while (rect.right() < viewport()->width() - spacing())
-+ {
-+ if (!isFreePosition(0,rect))
-+ rect.moveBy(rect.width()+spacing(), 0);
-+ else
-+ return rect.topLeft();
-+ }
-+
-+ return QPoint();
-+}
-+
-+QPoint KDIconView::findPlaceForIcon( int column, int row)
-+{
-+ int dx = gridXValue(), dy = 0;
-+ QIconViewItem *item = firstItem();
-+ for ( ; item; item = item->nextItem() ) {
-+ dx = QMAX( dx, item->width() );
-+ dy = QMAX( dy, item->height() );
-+ }
-+
-+ dx += spacing();
-+ dy += spacing();
-+
-+ if (row == -1) {
-+ int max_cols = viewport()->width() / dx;
-+ int delta = 0;
-+ QPoint res;
-+ do {
-+ delta++;
-+ res = findPlaceForIconCol(column + (delta / 2) * (-2 * (delta % 2) + 1),
-+ dx, dy);
-+ if (delta / 2 > QMAX(max_cols - column, column))
-+ return res;
-+ } while (res.isNull());
-+ return res;
-+ }
-+
-+ if (column == -1) {
-+ int max_rows = viewport()->height() / dy;
-+ int delta = 0;
-+ QPoint res;
-+ do {
-+ delta++;
-+ res = findPlaceForIconRow(row + (delta / 2) * (-2 * (delta % 2) + 1),
-+ dx, dy);
-+ if (delta / 2 > QMAX(max_rows - row, row))
-+ return res;
-+ } while (res.isNull());
-+ return res;
-+ }
-+
-+ // very unlikely - if I may add that
-+ return QPoint(0, 0);
-+}
-+
- void KDIconView::saveIconPositions()
- {
- kdDebug(1214) << "KDIconView::saveIconPositions" << endl;
-@@ -1665,4 +1760,11 @@ void KDIconView::saveIconPositions()
- m_dotDirectory->sync();
- }
-
-+void KDIconView::update( const QString &_url )
-+{
-+ if (m_dirLister)
-+ m_dirLister->updateDirectory( _url );
-+}
-+
-+
- #include "kdiconview.moc"
-Index: kdesktop/kdiconview.h
-===================================================================
---- kdesktop/kdiconview.h.orig
-+++ kdesktop/kdiconview.h
-@@ -73,6 +73,8 @@ public:
-
- QStringList selectedURLs();
-
-+ void update( const QString &url );
-+
- /**
- * Save the icon positions
- */
-@@ -103,6 +105,10 @@ public:
-
- void startDirLister();
-
-+ QPoint findPlaceForIconCol( int column, int dx, int dy );
-+ QPoint findPlaceForIconRow( int row, int dx, int dy );
-+ QPoint findPlaceForIcon( int column, int row );
-+
- protected slots:
-
- // slots connected to the icon view
-@@ -112,8 +118,9 @@ protected slots:
- void slotMouseButtonClickedKDesktop(int _button, QIconViewItem* _item, const QPoint& _global);
- void slotContextMenuRequested(QIconViewItem* _item, const QPoint& _global);
- void slotEnableAction( const char * name, bool enabled );
-+public slots:
- void slotAboutToCreate(const QPoint &pos, const QValueList<KIO::CopyInfo> &files);
--
-+protected slots:
- void slotItemRenamed(QIconViewItem*, const QString &name);
-
- // slots connected to the directory lister