From eba183d4de47093c6e44a99c8d7fe313aa2834c9 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Fri, 1 Feb 2013 17:25:42 -0600 Subject: Fix FTBFS --- .../tdefontinst/kcmfontinst/KFileFontIconView.cpp | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 kcontrol/tdefontinst/kcmfontinst/KFileFontIconView.cpp (limited to 'kcontrol/tdefontinst/kcmfontinst/KFileFontIconView.cpp') diff --git a/kcontrol/tdefontinst/kcmfontinst/KFileFontIconView.cpp b/kcontrol/tdefontinst/kcmfontinst/KFileFontIconView.cpp new file mode 100644 index 000000000..0770094e3 --- /dev/null +++ b/kcontrol/tdefontinst/kcmfontinst/KFileFontIconView.cpp @@ -0,0 +1,88 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Class Name : KFI::CKFileFontIconView +// Author : Craig Drummond +// Project : K Font Installer +// Creation Date : 31/05/2003 +// Version : $Revision$ $Date$ +// +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// +//////////////////////////////////////////////////////////////////////////////// +// (C) Craig Drummond, 2003, 2004 +//////////////////////////////////////////////////////////////////////////////// + +#include +#include +#include +#include "KFileFontIconView.h" + +namespace KFI +{ + +// CPD: KDE4 should make acceptDrag() virtual there fore can get rid of all these ::contentsX functions... +void CKFileFontIconView::contentsDragEnterEvent(TQDragEnterEvent *e) +{ + if(acceptDrag(e)) + KFileIconView::contentsDragEnterEvent(e); + else + e->ignore(); +} + +void CKFileFontIconView::contentsDragMoveEvent(TQDragMoveEvent *e) +{ + if(acceptDrag(e)) + KFileIconView::contentsDragMoveEvent(e); + else + e->ignore(); +} + +void CKFileFontIconView::contentsDropEvent(TQDropEvent *e) +{ + contentsDragLeaveEvent(NULL); + + if(acceptDrag(e)) + KFileIconView::contentsDropEvent(e); + else + e->ignore(); +} + +bool CKFileFontIconView::acceptDrag(TQDropEvent *e) const +{ +#if 0 // Crashes - seems to be called to quick??? + bool ok=false; + KURL::List urls; + + if(KURLDrag::canDecode(e) && (e->source()!=const_cast(this)) && + (TQDropEvent::Copy==e->action() || TQDropEvent::Move==e->action()) && + KURLDrag::decode(e, urls) && !urls.isEmpty()) + { + KURL::List::Iterator it; + + ok=true; + for(it=urls.begin(); ok && it!=urls.end(); ++it) + if(!CFontEngine::isAFontOrAfm(TQFile::encodeName((*it).path()))) + ok=false; + } + + return ok; +#endif + return KURLDrag::canDecode(e) && (e->source()!= const_cast(this)) && + (TQDropEvent::Copy==e->action() || TQDropEvent::Move==e->action()); +} + +} -- cgit v1.2.1