summaryrefslogtreecommitdiff
path: root/src/bookmarks.cpp
blob: e03bf3dc77ccc7ca2e0f1ab981692b6766315240 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/* ============================================================
 *
 * This file is a part of the reKonq project
 *
 * Copyright (C) 2008 by Andrea Diamantini <adjam7 at gmail dot com>
 *
 *
 * 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, 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.
 *
 * ============================================================ */

// Local Includes
#include "bookmarks.h"
#include "bookmarks.moc"

#include "browsermainwindow.h"
#include "webview.h"

// KDE Includes
#include <KMimeType>

OwnBookMarks::OwnBookMarks(KMainWindow *parent)
    : QObject(parent)
    , KBookmarkOwner()
{
    m_parent = qobject_cast<BrowserMainWindow*>( parent );
    connect( this, SIGNAL( openUrl( const KUrl &) ) , parent , SLOT( loadUrl( const KUrl & ) ) );
}


void OwnBookMarks::openBookmark (const KBookmark & b, Qt::MouseButtons , Qt::KeyboardModifiers )
{
    emit openUrl( b.url() );
}

QString OwnBookMarks::currentUrl() const
{
    QUrl url = m_parent->currentTab()->url();
    return url.path();
}


QString OwnBookMarks::currentTitle() const
{
    QString title = m_parent->windowTitle();
    return title.remove( " - reKonq" );
}


// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


BookmarksMenu::BookmarksMenu(KMainWindow *parent)
    : KMenu(parent)
    , m_owner( new OwnBookMarks( parent ) )
{
    KUrl bookfile = KUrl( "~/.kde/share/apps/konqueror/bookmarks.xml" );    // share konqueror bookmarks
    m_manager = KBookmarkManager::managerForExternalFile( bookfile.path() );

    m_ac = new KActionCollection( this );

    m_menu = new KBookmarkMenu( m_manager , m_owner, this, m_ac );
}