* 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., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
#include "urlnavigatorbutton.h"
-#include <qcursor.h>
-#include <qfontmetrics.h>
-#include <qpainter.h>
-#include <qtimer.h>
-#include <qtooltip.h>
-//Added by qt3to4:
-#include <QDropEvent>
-#include <QDragLeaveEvent>
-#include <Q3PopupMenu>
-#include <QEvent>
-#include <QDragEnterEvent>
+
+#include <assert.h>
+
+#include "urlnavigator.h"
#include <kglobalsettings.h>
#include <kiconloader.h>
+#include <kio/job.h>
#include <kio/jobclasses.h>
#include <klocale.h>
#include <kurl.h>
-#include <assert.h>
-#include "urlnavigator.h"
-#include "dolphinview.h"
-#include "dolphinmainwindow.h"
+#include <Q3PopupMenu>
+#include <QPainter>
+#include <QTimer>
UrlNavigatorButton::UrlNavigatorButton(int index, UrlNavigator* parent) :
UrlButton(parent),
m_index(-1),
+ m_popupDelay(0),
m_listJob(0)
{
setAcceptDrops(true);
}
// dimm the colors if the parent view does not have the focus
- const DolphinView* parentView = urlNavigator()->dolphinView();
- const DolphinMainWindow* dolphin = parentView->mainWindow();
-
- const bool isActive = (dolphin->activeView() == parentView);
+ const bool isActive = urlNavigator()->isActive();
if (!isActive) {
QColor dimmColor(palette().brush(QPalette::Background).color());
foregroundColor = mixColors(foregroundColor, dimmColor);
return;
}
- KUrl::List urls;
- /* KDE4-TODO:
- if (KUrlDrag::decode(event, urls) && !urls.isEmpty()) {
+ const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData());
+ if (!urls.isEmpty()) {
+ event->acceptProposedAction();
+
setDisplayHintEnabled(DraggedHint, true);
QString path(urlNavigator()->url().prettyUrl());
- path = path.section('/', 0, m_index);
+ path = path.section('/', 0, m_index + 2);
- Dolphin::mainWin().dropUrls(urls, KUrl(path));
+ urlNavigator()->dropUrls(urls, KUrl(path));
setDisplayHintEnabled(DraggedHint, false);
update();
- }*/
+ }
}
void UrlNavigatorButton::dragEnterEvent(QDragEnterEvent* event)
{
- /* KDE4-TODO:
- event->accept(KUrlDrag::canDecode(event));
+ if (event->mimeData()->hasUrls()) {
+ setDisplayHintEnabled(DraggedHint, true);
+ event->acceptProposedAction();
- setDisplayHintEnabled(DraggedHint, true);*/
- update();
+ update();
+ }
}
void UrlNavigatorButton::dragLeaveEvent(QDragLeaveEvent* event)
return;
}
- UrlNavigator* navigator = urlNavigator();
- assert(navigator != 0);
- navigator->setUrl(navigator->url(m_index));
+ urlNavigator()->setUrl(urlNavigator()->url(m_index));
}
void UrlNavigatorButton::startPopupDelay()
KIO::UDSEntryList::const_iterator itEnd = entries.constEnd();
while (it != itEnd) {
QString name;
- bool isDir = false;
+ //bool isDir = false;
KIO::UDSEntry entry = *it;
/* KDE3 reference: