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

List:       kde-commits
Subject:    [Konversation] 6b11c2c: fix buttons' behaviours in dcc panel
From:       Shintaro Matsuoka <shin () shoegazed ! org>
Date:       2010-07-01 13:27:52
Message-ID: 20100701132752.54B75BB570C () projects ! kde ! org
[Download RAW message or body]

commit 6b11c2c343db88efa0450ca35440bbaa7663c466
Author: Shintaro Matsuoka <shin@shoegazed.org>
Date:   Sun Aug 15 03:08:19 2004 +0000

    fix buttons' behaviours in dcc panel
    
    svn path=/trunk/kdeextragear-2/konversation/; revision=338024

diff --git a/konversation/dccpanel.cpp b/konversation/dccpanel.cpp
index 05445a0..642615e 100644
--- a/konversation/dccpanel.cpp
+++ b/konversation/dccpanel.cpp
@@ -105,15 +105,6 @@ DccPanel::~DccPanel()
   kdDebug() << "DccPanel::~DccPanel()" << endl;
 }
 
-void DccPanel::setButtons(bool accept,bool abort,bool remove,bool open,bool info)
-{
-  acceptButton->setEnabled(accept);
-  abortButton->setEnabled(abort);
-  removeButton->setEnabled(remove);
-  openButton->setEnabled(open);
-  infoButton->setEnabled(info);
-}
-
 void DccPanel::dccStatusChanged(const DccTransfer *item)
 {
   // If the item is currently selected, update buttons.
@@ -123,36 +114,44 @@ void DccPanel::dccStatusChanged(const DccTransfer *item)
 void DccPanel::dccSelected()
 {
   DccTransfer* item=static_cast<DccTransfer*>(getListView()->selectedItem());
-
+  
   if(item)
   {
     DccTransfer::DccStatus status=item->getStatus();
-    switch(status)
-    {
-      case DccTransfer::Queued:
-      case DccTransfer::LookingUp:
-      case DccTransfer::Connecting:
-        setButtons(true,true,true,false,false);
-        break;
-      case DccTransfer::WaitingRemote:
-        setButtons(false,true,true,true,true);
-        break;
-      case DccTransfer::Sending:
-      case DccTransfer::Receiving:
-        setButtons(false,true,true,true,true);
-        break;
-      case DccTransfer::Aborted:
-      case DccTransfer::Failed:
-      case DccTransfer::Done:
-        setButtons(false,false,true,true,true);
-        break;
-      default:
-        setButtons(false,false,false,false,false);
-    }
+    
+    // Accept
+    acceptButton->setEnabled( status == DccTransfer::Queued );
+    
+    // Abort
+    abortButton->setEnabled( status != DccTransfer::Failed && 
+                             status != DccTransfer::Aborted && 
+                             status != DccTransfer::Done );
+    
+    // Remove
+    removeButton->setEnabled( true );
+    
+    // Open
+    openButton->setEnabled( item->getType() == DccTransfer::Send ||
+                            status == DccTransfer::Done );
+    
+    // Info
+    infoButton->setEnabled( false );  // disabled temporarily
+    
+    // Detail
+    detailButton->setEnabled( item->getType() == DccTransfer::Send ||
+                              status == DccTransfer::Done );
+  }
+  else
+  {
+    acceptButton->setEnabled( false );
+    abortButton->setEnabled( false );
+    removeButton->setEnabled( false );
+    openButton->setEnabled( false );
+    infoButton->setEnabled( false );
+    detailButton->setEnabled( false );
   }
-  else setButtons(false,false,false,false,false);
 }
-
+  
 void DccPanel::acceptDcc()
 {
   DccTransfer* item=static_cast<DccTransfer*>(getListView()->selectedItem());
@@ -166,8 +165,7 @@ void DccPanel::runDcc()
 {
   DccTransfer* item=static_cast<DccTransfer*>(getListView()->selectedItem());
   if(item)
-    if( item->getType()==DccTransfer::Send 
-        || ( item->getType()==DccTransfer::Receive && item->getStatus()==DccTransfer::Done ) )
+    if(item->getType()==DccTransfer::Send || item->getStatus()==DccTransfer::Done)
       new KRun(KURL(item->getFilePath()));
 }
 
diff --git a/konversation/dccpanel.h b/konversation/dccpanel.h
index 51df25f..116eb23 100644
--- a/konversation/dccpanel.h
+++ b/konversation/dccpanel.h
@@ -65,8 +65,6 @@ class DccPanel : public ChatWindow
 #ifdef USE_MDI
     virtual void closeYourself(ChatWindow*);
 #endif
-    void setButtons(bool accept,bool abort,bool remove,bool open,bool info);
-
     KListView* dccListView;
 
     QPushButton* acceptButton;
[prev in list] [next in list] [prev in thread] [next in thread] 

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