mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-20 00:41:23 +00:00
KBookmarkManager::managerForFile and KBookmarkOwner::openBookmark changes.
svn path=/trunk/KDE/kdebase/apps/; revision=596012
This commit is contained in:
parent
47d8158400
commit
c371faca0b
|
@ -231,7 +231,7 @@ void XBELImportCommand::doCreateHoldingFolder(KBookmarkGroup &) {
|
||||||
|
|
||||||
void XBELImportCommand::doExecute(const KBookmarkGroup &/*bkGroup*/) {
|
void XBELImportCommand::doExecute(const KBookmarkGroup &/*bkGroup*/) {
|
||||||
// check if already open first???
|
// check if already open first???
|
||||||
KBookmarkManager *pManager = KBookmarkManager::managerForFile(m_fileName, false);
|
KBookmarkManager *pManager = KBookmarkManager::managerForFile(m_fileName,"", false);
|
||||||
|
|
||||||
QDomDocument doc = CurrentMgr::self()->mgr()->internalDocument();
|
QDomDocument doc = CurrentMgr::self()->mgr()->internalDocument();
|
||||||
|
|
||||||
|
|
|
@ -117,7 +117,7 @@ int main( int argc, char**argv )
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString absPath = extraBookmarksDir.filePath( fileName );
|
const QString absPath = extraBookmarksDir.filePath( fileName );
|
||||||
KBookmarkManager *mgr = KBookmarkManager::managerForFile( absPath, false );
|
KBookmarkManager *mgr = KBookmarkManager::managerForFile( absPath, "", false );
|
||||||
KBookmarkGroup root = mgr->root();
|
KBookmarkGroup root = mgr->root();
|
||||||
for ( KBookmark bm = root.first(); !bm.isNull(); bm = root.next( bm ) ) {
|
for ( KBookmark bm = root.first(); !bm.isNull(); bm = root.next( bm ) ) {
|
||||||
if ( bm.isGroup() ) {
|
if ( bm.isGroup() ) {
|
||||||
|
|
|
@ -53,6 +53,9 @@ static KCmdLineOptions options[] = {
|
||||||
{"address <address>", I18N_NOOP("Open at the given position in the bookmarks file"), 0},
|
{"address <address>", I18N_NOOP("Open at the given position in the bookmarks file"), 0},
|
||||||
{"customcaption <caption>", I18N_NOOP("Set the user readable caption for example \"Konsole\""), 0},
|
{"customcaption <caption>", I18N_NOOP("Set the user readable caption for example \"Konsole\""), 0},
|
||||||
{"nobrowser", I18N_NOOP("Hide all browser related functions"), 0},
|
{"nobrowser", I18N_NOOP("Hide all browser related functions"), 0},
|
||||||
|
{"dbusObjectName <name>", I18N_NOOP("A unique name that represents this bookmark collection, usually the kinstance name.\n"
|
||||||
|
"This should be \"konqueror\" for the konqueror bookmarks, \"kfile\" for KFileDialog bookmarks, etc.\n"
|
||||||
|
"The final DBus object path is /KBookmarkManager/dbusObjectName"), 0},
|
||||||
{"+[file]", I18N_NOOP("File to edit"), 0},
|
{"+[file]", I18N_NOOP("File to edit"), 0},
|
||||||
KCmdLineLastOption
|
KCmdLineLastOption
|
||||||
};
|
};
|
||||||
|
@ -140,14 +143,14 @@ extern "C" KDE_EXPORT int kdemain(int argc, char **argv) {
|
||||||
//KApplication::disableAutoDcopRegistration();
|
//KApplication::disableAutoDcopRegistration();
|
||||||
KApplication app(isGui);
|
KApplication app(isGui);
|
||||||
|
|
||||||
bool gotArg = (args->count() == 1);
|
bool gotFilenameArg = (args->count() == 1);
|
||||||
|
|
||||||
QString filename = gotArg
|
QString filename = gotFilenameArg
|
||||||
? QLatin1String(args->arg(0))
|
? QLatin1String(args->arg(0))
|
||||||
: KStandardDirs::locateLocal("data", QLatin1String("konqueror/bookmarks.xml"));
|
: KStandardDirs::locateLocal("data", QLatin1String("konqueror/bookmarks.xml"));
|
||||||
|
|
||||||
if (!isGui) {
|
if (!isGui) {
|
||||||
CurrentMgr::self()->createManager(filename);
|
CurrentMgr::self()->createManager(filename, QString());
|
||||||
CurrentMgr::ExportType exportType = CurrentMgr::MozillaExport; // uumm.. can i just set it to -1 ?
|
CurrentMgr::ExportType exportType = CurrentMgr::MozillaExport; // uumm.. can i just set it to -1 ?
|
||||||
int got = 0;
|
int got = 0;
|
||||||
const char *arg, *arg2 = 0, *importType = 0;
|
const char *arg, *arg2 = 0, *importType = 0;
|
||||||
|
@ -188,12 +191,25 @@ extern "C" KDE_EXPORT int kdemain(int argc, char **argv) {
|
||||||
? QString::fromLocal8Bit(args->getOption("customcaption"))
|
? QString::fromLocal8Bit(args->getOption("customcaption"))
|
||||||
: QString();
|
: QString();
|
||||||
|
|
||||||
|
QString dbusObjectName;
|
||||||
|
if(args->isSet("dbusObjectName"))
|
||||||
|
{
|
||||||
|
dbusObjectName = QString::fromLocal8Bit(args->getOption("dbusObjectName"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(gotFilenameArg)
|
||||||
|
dbusObjectName = QString();
|
||||||
|
else
|
||||||
|
dbusObjectName = "konqueror";
|
||||||
|
}
|
||||||
|
|
||||||
args->clear();
|
args->clear();
|
||||||
|
|
||||||
bool readonly = false; // passed by ref
|
bool readonly = false; // passed by ref
|
||||||
|
|
||||||
if (askUser(app, (gotArg ? filename : QString()), readonly)) {
|
if (askUser(app, (gotFilenameArg ? filename : QString()), readonly)) {
|
||||||
KEBApp *toplevel = new KEBApp(filename, readonly, address, browser, caption);
|
KEBApp *toplevel = new KEBApp(filename, readonly, address, browser, caption, dbusObjectName);
|
||||||
toplevel->show();
|
toplevel->show();
|
||||||
return app.exec();
|
return app.exec();
|
||||||
}
|
}
|
||||||
|
|
|
@ -129,14 +129,15 @@ void CurrentMgr::saveAs(const QString &fileName) { mgr()->saveAs(fileName); }
|
||||||
void CurrentMgr::setUpdate(bool update) { mgr()->setUpdate(update); }
|
void CurrentMgr::setUpdate(bool update) { mgr()->setUpdate(update); }
|
||||||
QString CurrentMgr::path() const { return mgr()->path(); }
|
QString CurrentMgr::path() const { return mgr()->path(); }
|
||||||
|
|
||||||
void CurrentMgr::createManager(const QString &filename) {
|
void CurrentMgr::createManager(const QString &filename, const QString &dbusObjectName) {
|
||||||
if (m_mgr) {
|
if (m_mgr) {
|
||||||
kDebug()<<"ERROR calling createManager twice"<<endl;
|
kDebug()<<"ERROR calling createManager twice"<<endl;
|
||||||
disconnect(m_mgr, 0, 0, 0);
|
disconnect(m_mgr, 0, 0, 0);
|
||||||
// still todo - delete old m_mgr
|
// still todo - delete old m_mgr
|
||||||
}
|
}
|
||||||
|
|
||||||
m_mgr = KBookmarkManager::managerForFile(filename, false);
|
kDebug()<<"DBus Object name: "<<dbusObjectName<<endl;
|
||||||
|
m_mgr = KBookmarkManager::managerForFile(filename, dbusObjectName, false);
|
||||||
|
|
||||||
connect(m_mgr, SIGNAL( changed(const QString &, const QString &) ),
|
connect(m_mgr, SIGNAL( changed(const QString &, const QString &) ),
|
||||||
SLOT( slotBookmarksChanged(const QString &, const QString &) ));
|
SLOT( slotBookmarksChanged(const QString &, const QString &) ));
|
||||||
|
@ -192,9 +193,12 @@ KEBApp *KEBApp::s_topLevel = 0;
|
||||||
|
|
||||||
KEBApp::KEBApp(
|
KEBApp::KEBApp(
|
||||||
const QString &bookmarksFile, bool readonly,
|
const QString &bookmarksFile, bool readonly,
|
||||||
const QString &address, bool browser, const QString &caption
|
const QString &address, bool browser, const QString &caption,
|
||||||
|
const QString &dbusObjectName
|
||||||
) : KMainWindow(), m_dcopIface(0), m_bookmarksFilename(bookmarksFile),
|
) : KMainWindow(), m_dcopIface(0), m_bookmarksFilename(bookmarksFile),
|
||||||
m_caption(caption), m_readOnly(readonly), m_browser(browser) {
|
m_caption(caption), m_readOnly(readonly), m_browser(browser),
|
||||||
|
m_dbusObjectName(dbusObjectName)
|
||||||
|
{
|
||||||
|
|
||||||
Q_UNUSED(address);//FIXME sets the current item
|
Q_UNUSED(address);//FIXME sets the current item
|
||||||
|
|
||||||
|
@ -219,7 +223,7 @@ KEBApp::KEBApp(
|
||||||
|
|
||||||
m_canPaste = false;
|
m_canPaste = false;
|
||||||
|
|
||||||
CurrentMgr::self()->createManager(m_bookmarksFilename);
|
CurrentMgr::self()->createManager(m_bookmarksFilename, m_dbusObjectName);
|
||||||
|
|
||||||
mBookmarkListView = new BookmarkListView();
|
mBookmarkListView = new BookmarkListView();
|
||||||
mBookmarkListView->setModel( BookmarkModel::self() );
|
mBookmarkListView->setModel( BookmarkModel::self() );
|
||||||
|
@ -263,7 +267,7 @@ void KEBApp::reset(const QString & caption, const QString & bookmarksFileName)
|
||||||
{
|
{
|
||||||
m_caption = caption;
|
m_caption = caption;
|
||||||
m_bookmarksFilename = bookmarksFileName;
|
m_bookmarksFilename = bookmarksFileName;
|
||||||
CurrentMgr::self()->createManager(m_bookmarksFilename); //FIXME this is still a memory leak (iff called by slotLoad)
|
CurrentMgr::self()->createManager(m_bookmarksFilename, m_dbusObjectName); //FIXME this is still a memory leak (iff called by slotLoad)
|
||||||
BookmarkModel::self()->resetModel();
|
BookmarkModel::self()->resetModel();
|
||||||
expandAll();
|
expandAll();
|
||||||
updateActions();
|
updateActions();
|
||||||
|
|
|
@ -76,7 +76,7 @@ public:
|
||||||
KBookmarkManager* mgr() const { return m_mgr; }
|
KBookmarkManager* mgr() const { return m_mgr; }
|
||||||
QString path() const;
|
QString path() const;
|
||||||
|
|
||||||
void createManager(const QString &filename);
|
void createManager(const QString &filename, const QString &dbusObjectName);
|
||||||
void notifyManagers(KBookmarkGroup grp);
|
void notifyManagers(KBookmarkGroup grp);
|
||||||
void notifyManagers();
|
void notifyManagers();
|
||||||
bool managerSave();
|
bool managerSave();
|
||||||
|
@ -104,7 +104,7 @@ class KEBApp : public KMainWindow {
|
||||||
public:
|
public:
|
||||||
static KEBApp* self() { return s_topLevel; }
|
static KEBApp* self() { return s_topLevel; }
|
||||||
|
|
||||||
KEBApp(const QString & bookmarksFile, bool readonly, const QString &address, bool browser, const QString &caption);
|
KEBApp(const QString & bookmarksFile, bool readonly, const QString &address, bool browser, const QString &caption, const QString& dbusObjectName);
|
||||||
virtual ~KEBApp();
|
virtual ~KEBApp();
|
||||||
|
|
||||||
void reset(const QString & caption, const QString & bookmarksFileName);
|
void reset(const QString & caption, const QString & bookmarksFileName);
|
||||||
|
@ -177,8 +177,8 @@ private:
|
||||||
CmdHistory *m_cmdHistory;
|
CmdHistory *m_cmdHistory;
|
||||||
QString m_bookmarksFilename;
|
QString m_bookmarksFilename;
|
||||||
QString m_caption;
|
QString m_caption;
|
||||||
|
QString m_dbusObjectName;
|
||||||
|
|
||||||
private:
|
|
||||||
BookmarkInfoWidget *m_bkinfo;
|
BookmarkInfoWidget *m_bkinfo;
|
||||||
|
|
||||||
bool m_canPaste:1;
|
bool m_canPaste:1;
|
||||||
|
|
|
@ -4002,7 +4002,7 @@ void KonqMainWindow::initActions()
|
||||||
m_paLinkView->setToolTip( i18n("Sets the view as 'linked'. A linked view follows folder changes made in other linked views.") );
|
m_paLinkView->setToolTip( i18n("Sets the view as 'linked'. A linked view follows folder changes made in other linked views.") );
|
||||||
}
|
}
|
||||||
|
|
||||||
void KonqExtendedBookmarkOwner::openBookmark(KBookmark bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km)
|
void KonqExtendedBookmarkOwner::openBookmark(const KBookmark & bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km)
|
||||||
{
|
{
|
||||||
kDebug(1202) << "KonqExtendedBookmarkOwner::openBookmark(" << bm.url().prettyUrl() << ", " << km << ", " << mb << ")" << endl;
|
kDebug(1202) << "KonqExtendedBookmarkOwner::openBookmark(" << bm.url().prettyUrl() << ", " << km << ", " << mb << ")" << endl;
|
||||||
|
|
||||||
|
|
|
@ -23,21 +23,17 @@
|
||||||
|
|
||||||
class KonqExtendedBookmarkOwner : public QObject, public KonqBookmarkOwner
|
class KonqExtendedBookmarkOwner : public QObject, public KonqBookmarkOwner
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
|
||||||
public:
|
public:
|
||||||
KonqExtendedBookmarkOwner(KonqMainWindow *);
|
KonqExtendedBookmarkOwner(KonqMainWindow *);
|
||||||
virtual QString currentTitle() const;
|
virtual QString currentTitle() const;
|
||||||
virtual QString currentUrl() const;
|
virtual QString currentUrl() const;
|
||||||
virtual bool supportsTabs() const;
|
virtual bool supportsTabs() const;
|
||||||
virtual QList<QPair<QString, QString> > currentBookmarkList() const;
|
virtual QList<QPair<QString, QString> > currentBookmarkList() const;
|
||||||
virtual void openBookmark(KBookmark bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km);
|
virtual void openBookmark(const KBookmark & bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km);
|
||||||
virtual void openInNewTab(KBookmark bm);
|
virtual void openInNewTab(KBookmark bm);
|
||||||
virtual void openInNewWindow(KBookmark bm);
|
virtual void openInNewWindow(KBookmark bm);
|
||||||
virtual void openFolderinTabs(KBookmark bm);
|
virtual void openFolderinTabs(KBookmark bm);
|
||||||
|
|
||||||
Q_SIGNALS:
|
|
||||||
void openBookmarkSignal(KBookmark bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
KonqMainWindow *m_pKonqMainWindow;
|
KonqMainWindow *m_pKonqMainWindow;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue