[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