[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/libkonq
From:       Laurent Montel <montel () kde ! org>
Date:       2003-08-18 20:57:15
[Download RAW message or body]

CVS commit by mlaurent: 

Fix rename directly icon.
Use same technical that Apple used.
Wait that double-click time was expired to rename icon
otherwise we couldn't double-click, so it was not good :(


  M +33 -7     konq_iconviewwidget.cc   1.251
  M +2 -0      konq_iconviewwidget.h   1.100


--- kdebase/libkonq/konq_iconviewwidget.cc  #1.250:1.251
@@ -365,4 +365,6 @@ struct KonqIconViewWidgetPrivate
     QStringList previewSettings;
     bool renameItem;
+    bool firstClick;
+    QMouseEvent *pClickEvent;
 };
 
@@ -394,5 +396,6 @@ KonqIconViewWidget::KonqIconViewWidget( 
 
     d->pFileTip = new KFileTip(this);
-
+    d->firstClick = false;
+    d->pClickEvent =  0L;
     calculateGridX();
     setAutoArrange( true );
@@ -1341,7 +1344,13 @@ void KonqIconViewWidget::contentsDropEve
 }
 
-void KonqIconViewWidget::contentsMousePressEvent( QMouseEvent *e )
+void KonqIconViewWidget::doubleClickTimeout()
 {
     d->renameItem= true;
+    mousePressChangeValue();
+    contentsMouseReleaseEvent( d->pClickEvent );
+}
+
+void KonqIconViewWidget::mousePressChangeValue()
+{
   //kdDebug(1203) << "KonqIconViewWidget::contentsMousePressEvent" << endl;
   m_bMousePressed = true;
@@ -1349,5 +1358,22 @@ void KonqIconViewWidget::contentsMousePr
     d->pSoundPlayer->stop();
   d->bSoundItemClicked = true;
+  d->firstClick = false;
+}
+
+void KonqIconViewWidget::contentsMousePressEvent( QMouseEvent *e )
+{
+     QIconViewItem* item = findItem( e->pos() );
+    if ( !KGlobalSettings::singleClick() && m_pSettings->renameIconDirectly() && \
e->button() == LeftButton && item && item->textRect( false ).contains(e->pos())&& \
!d->firstClick ) +    {
+        d->firstClick = true;
+        d->pClickEvent = e;
+        QTimer::singleShot(QApplication::doubleClickInterval(),this,SLOT(doubleClickTimeout()));
 +        return;
+    }
+    else
+        d->renameItem= false;
+    mousePressChangeValue();
   KIconView::contentsMousePressEvent( e );
+
 }
 

--- kdebase/libkonq/konq_iconviewwidget.h  #1.99:1.100
@@ -253,4 +253,5 @@ protected slots:
 
     void slotAboutToCreate(const QPoint &pos, const QValueList<KIO::CopyInfo> \
&files); +    void doubleClickTimeout();
 
 private slots:
@@ -277,4 +278,5 @@ protected:
     virtual void backgroundPixmapChange( const QPixmap & );
     void readAnimatedIconsConfig();
+    void mousePressChangeValue();
 
 private:


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic