1/* This file is part of the KDE libraries
2 Copyright (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org>
3
4 library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation, version 2.
7
8 This library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Library General Public License for more details.
12
13 You should have received a copy of the GNU Library General Public License
14 along with this library; see the file COPYING.LIB. If not, write to
15 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 Boston, MA 02110-1301, USA.
17*/
18
19#include "kfilebookmarkhandler_p.h"
20
21#include <stdio.h>
22#include <stdlib.h>
23
24#include <kbookmarkimporter.h>
25#include <kbookmarkdombuilder.h>
26#include <kmenu.h>
27#include <kstandarddirs.h>
28
29#include "kfilewidget.h"
30
31KFileBookmarkHandler::KFileBookmarkHandler( KFileWidget *widget )
32 : QObject( widget ),
33 KBookmarkOwner(),
34 m_widget( widget )
35{
36 setObjectName( "KFileBookmarkHandler" );
37 m_menu = new KMenu( widget );
38 m_menu->setObjectName( "bookmark menu" );
39
40 QString file = KStandardDirs::locate( "data", "kfile/bookmarks.xml" );
41 if ( file.isEmpty() )
42 file = KStandardDirs::locateLocal( "data", "kfile/bookmarks.xml" );
43
44 KBookmarkManager *manager = KBookmarkManager::managerForFile( file, "kfile" );
45 manager->setUpdate( true );
46
47 m_bookmarkMenu = new KBookmarkMenu( manager, this, m_menu,
48 widget->actionCollection() );
49}
50
51KFileBookmarkHandler::~KFileBookmarkHandler()
52{
53 delete m_bookmarkMenu;
54}
55
56void KFileBookmarkHandler::openBookmark( const KBookmark & bm, Qt::MouseButtons, Qt::KeyboardModifiers)
57{
58 emit openUrl( bm.url().url() );
59}
60
61QString KFileBookmarkHandler::currentUrl() const
62{
63 return m_widget->baseUrl().url();
64}
65
66QString KFileBookmarkHandler::currentTitle() const
67{
68 return m_widget->baseUrl().prettyUrl();
69}
70
71#include "kfilebookmarkhandler_p.moc"
72