diff options
Diffstat (limited to 'krusader/Dialogs/krspwidgets.cpp')
-rw-r--r-- | krusader/Dialogs/krspwidgets.cpp | 316 |
1 files changed, 0 insertions, 316 deletions
diff --git a/krusader/Dialogs/krspwidgets.cpp b/krusader/Dialogs/krspwidgets.cpp deleted file mode 100644 index b0fcf5d..0000000 --- a/krusader/Dialogs/krspwidgets.cpp +++ /dev/null @@ -1,316 +0,0 @@ -/*************************************************************************** - krspwidgets.cpp - ------------------- - copyright : (C) 2000 by Shie Erlich & Rafi Yanai - e-mail : krusader@users.sourceforge.net - web site : http://krusader.sourceforge.net - --------------------------------------------------------------------------- - Description - *************************************************************************** - - A - - db dD d8888b. db db .d8888. .d8b. d8888b. d88888b d8888b. - 88 ,8P' 88 `8D 88 88 88' YP d8' `8b 88 `8D 88' 88 `8D - 88,8P 88oobY' 88 88 `8bo. 88ooo88 88 88 88ooooo 88oobY' - 88`8b 88`8b 88 88 `Y8b. 88~~~88 88 88 88~~~~~ 88`8b - 88 `88. 88 `88. 88b d88 db 8D 88 88 88 .8D 88. 88 `88. - YP YD 88 YD ~Y8888P' `8888Y' YP YP Y8888D' Y88888P 88 YD - - S o u r c e F i l e - - *************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include "krspwidgets.h" -#include "../krusader.h" -#include "../krusaderview.h" -#include "../Panel/listpanel.h" -#include "../kicons.h" -#include "../Filter/filtertabs.h" -#include <tqcombobox.h> -#include <tqlabel.h> -#include <tqlineedit.h> -#include <tqcheckbox.h> -#include <tqlistbox.h> -#include <tqspinbox.h> -#include <tdelocale.h> -#include <kcombobox.h> -#include <kiconloader.h> -#include <kcursor.h> -#include <tqbitmap.h> -#include "../resources.h" - -///////////////////// initiation of the static members //////////////////////// -TQStrList KRSpWidgets::maskList; - -/////////////////////////////////////////////////////////////////////////////// - -KRSpWidgets::KRSpWidgets(){ -} - -KRQuery KRSpWidgets::getMask(TQString caption, bool nameOnly ) { - if( !nameOnly ) { - return FilterTabs::getQuery(); - } - else { - KRMaskChoiceSub *p=new KRMaskChoiceSub(); - p->setCaption(caption); - p->exec(); - if (p->selection->currentText()=="") return KRQuery(); - else return KRQuery( p->selection->currentText() ); - } -} - -/////////////////////////// newFTP //////////////////////////////////////// -KURL KRSpWidgets::newFTP() { - newFTPSub *p=new newFTPSub(); - p->exec(); - if (p->url->currentText()=="") return KURL(); // empty url - KURL url; - - TQString protocol = p->prefix->currentText(); - protocol.truncate(protocol.length() - 3); // remove the trailing :// - TQString username = p->username->text().simplifyWhiteSpace(); - TQString password = p->password->text().simplifyWhiteSpace(); - TQString uri = p->url->currentText(); - - int uriStart = uri.findRev( '@' ); /* lets the user enter user and password in the URI field */ - if( uriStart != -1 ) { - TQString uriUser = uri.left( uriStart ); - TQString uriPsw = TQString(); - uri = uri.mid( uriStart + 1 ); - - int pswStart = uriUser.find( ':' ); /* getting the password name from the URL */ - if( pswStart != -1 ) { - uriPsw = uriUser.mid( pswStart + 1 ); - uriUser = uriUser.left( pswStart ); - } - - if( !uriUser.isEmpty() ) /* handling the ftp proxy username and password also */ - username = username.isEmpty() ? uriUser : username + "@" + uriUser; - - if( !uriPsw.isEmpty() ) /* handling the ftp proxy username and password also */ - password = password.isEmpty() ? uriPsw : password + "@" + uriPsw; - } - - TQString host = uri; /* separating the hostname and path from the uri */ - TQString path = TQString(); - int pathStart = uri.find( "/" ); - if( pathStart != -1 ) { - path = host.mid( pathStart ); - host = host.left( pathStart ); - } - - /* setting the parameters of the URL */ - url.setProtocol(protocol); - url.setHost( host ); - url.setPath( path ); - if ( protocol == "ftp" || protocol == "fish" || protocol == "sftp" ) - url.setPort(p->port->cleanText().toInt()); - if (!username.isEmpty()) - url.setUser( username ); - if (!password.isEmpty()) - url.setPass( password ); - - return url; -} - -newFTPSub::newFTPSub() : newFTPGUI(0,0,true) { - url->setFocus(); - setGeometry(krApp->x()+krApp->width()/2-width()/2,krApp->y()+krApp->height()/2-height()/2,width(),height()); -} - -void newFTPSub::accept() { - url->addToHistory( url->currentText() ); - // save the history and completion list when the history combo is - // destroyed - krConfig->setGroup("Private"); - TQStringList list = url->completionObject()->items(); - krConfig->writeEntry( "newFTP Completion list", list ); - list = url->historyItems(); - krConfig->writeEntry( "newFTP History list", list ); - - newFTPGUI::accept(); -} - -void newFTPSub::reject() { - url->setCurrentText(""); - newFTPGUI::reject(); -} - -/////////////////////////// KRMaskChoiceSub /////////////////////////////// -KRMaskChoiceSub::KRMaskChoiceSub() : KRMaskChoice(0,0,true) { - PixmapLabel1->setPixmap(krLoader->loadIcon("kr_select", TDEIcon::Desktop, 32)); - label->setText(i18n("Enter a selection:")); - // the predefined selections list - krConfig->setGroup("Private"); - TQStrList lst; - int i=krConfig->readListEntry("Predefined Selections",lst); - if (i>0) preSelections->insertStrList(lst); - // the combo-box tweaks - selection->setDuplicatesEnabled(false); - selection->insertStrList(KRSpWidgets::maskList); - selection->lineEdit()->setText("*"); - selection->lineEdit()->selectAll(); - selection->setFocus(); -} - -void KRMaskChoiceSub::reject() { - selection->clear(); - KRMaskChoice::reject(); -} - -void KRMaskChoiceSub::accept() { - bool add = true; - char *tmp; - // make sure we don't have that already - for ( tmp = KRSpWidgets::maskList.first(); tmp ; tmp = KRSpWidgets::maskList.next() ) - if (TQString(tmp).simplifyWhiteSpace() == selection->currentText().simplifyWhiteSpace()) { - // break if we found one such as this - add = false; - break; - } - - if (add) - KRSpWidgets::maskList.insert(0,selection->currentText().local8Bit()); - // write down the predefined selections list - TQStrList list; - TQListBoxItem *i=preSelections->firstItem(); - while (i!=0) { - if (i->text().find(i18n("compare mode"))==-1) - list.append(i->text().local8Bit()); - i=i->next(); - } - krConfig->setGroup("Private"); - krConfig->writeEntry("Predefined Selections",list); - KRMaskChoice::accept(); -} - -void KRMaskChoiceSub::addSelection() { - TQString temp=selection->currentText(); - bool itemExists=false; - TQListBoxItem *i=preSelections->firstItem(); - // check if the selection already exists - while (i!=0) - if (i->text()==temp) { - itemExists=true; - break; - } else i=i->next(); - if (temp!="" && !itemExists) { - preSelections->insertItem(selection->currentText()); - preSelections->update(); - } -} - -void KRMaskChoiceSub::deleteSelection() { - if (preSelections->currentItem()!=-1 && - preSelections->currentText().find(i18n("compare mode"))==-1) { - preSelections->removeItem(preSelections->currentItem()); - preSelections->update(); - } -} - -void KRMaskChoiceSub::clearSelections() { - preSelections->clear(); - preSelections->update(); -} - -void KRMaskChoiceSub::acceptFromList(TQListBoxItem *i) { - selection->insertItem(i->text(),0); - accept(); -} - -////////////////////////// QuickNavLineEdit //////////////////// - -QuickNavLineEdit::QuickNavLineEdit(const TQString &string, TQWidget *parent, const char *name): - KLineEdit(string, parent, name) { init(); } - -QuickNavLineEdit::QuickNavLineEdit(TQWidget *parent, const char *name): - KLineEdit(parent, name) { init(); } - -int QuickNavLineEdit::findCharFromPos(const TQString & str, const TQFontMetrics & metrics, int pos) -{ - if (pos < 0) - return -1; - for (int i = 1; i <= (int)str.length(); ++i) - if (metrics.width(str, i) > pos) - return i; - return str.length(); -} - -void QuickNavLineEdit::init() { - _numOfSelectedChars=0; - _dummyDisplayed=false; - _pop=0; - //setCompletionMode( TDEGlobalSettings::CompletionPopupAuto ); ==> removed by public demand -} - -void QuickNavLineEdit::leaveEvent(TQEvent *) { - clearAll(); -} - -void QuickNavLineEdit::mousePressEvent( TQMouseEvent *m ) { - if (m->state()!=ControlButton) clearAll(); - else - { - if (!_numOfSelectedChars) - { - _numOfSelectedChars = charCount(m); - if (_numOfSelectedChars < 0) - _numOfSelectedChars = 0; - } - if (_numOfSelectedChars) - emit returnPressed(text().left(_numOfSelectedChars)); - } - KLineEdit::mousePressEvent(m); -} - -int QuickNavLineEdit::charCount(const TQMouseEvent * const m,TQString * const str) { - // find how much of the string we've selected (approx) - // and select from from the start to the closet slash (on the right) - const TQString tx = text().simplifyWhiteSpace(); - if (tx.isEmpty()) { - clearAll(); - return -1; - } - - int numOfChars = findCharFromPos(tx, fontMetrics(), m->x() - 5); - if(str) *str=tx; - return tx.find('/', numOfChars); -} - -void QuickNavLineEdit::mouseMoveEvent( TQMouseEvent *m) { - if (m->state()!=ControlButton) { // works only with ctrl pressed - clearAll(); - KLineEdit::mouseMoveEvent(m); - return; - } - TQString tx; - int idx=charCount(m,&tx); - if (idx == -1 && !_dummyDisplayed) { // pointing on or after the current directory - if (_pop) delete _pop; - _pop = KPassivePopup::message( i18n("Quick Navigation"), - "<qt>" + i18n("Already at <i>%1</i>").arg(tx.left(idx)) + "</qt>", - *(KCursor::handCursor().bitmap()), this); - - _dummyDisplayed=true; - _numOfSelectedChars=0; - } else if (idx>0 && idx!=_numOfSelectedChars) { - _numOfSelectedChars=idx; - if (_pop) delete _pop; - _dummyDisplayed=false; - - _pop = KPassivePopup::message( i18n("Quick Navigation"), - "<qt>" + i18n("Click to go to <i>%1</i>").arg(tx.left(idx)) + "</qt>", - *(KCursor::handCursor().bitmap()), this ); - } - KLineEdit::mouseMoveEvent(m); -} - |