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*/) {
|
||||
// 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();
|
||||
|
||||
|
|
|
@ -117,7 +117,7 @@ int main( int argc, char**argv )
|
|||
}
|
||||
|
||||
const QString absPath = extraBookmarksDir.filePath( fileName );
|
||||
KBookmarkManager *mgr = KBookmarkManager::managerForFile( absPath, false );
|
||||
KBookmarkManager *mgr = KBookmarkManager::managerForFile( absPath, "", false );
|
||||
KBookmarkGroup root = mgr->root();
|
||||
for ( KBookmark bm = root.first(); !bm.isNull(); bm = root.next( bm ) ) {
|
||||
if ( bm.isGroup() ) {
|
||||
|
|
|
@ -53,6 +53,9 @@ static KCmdLineOptions options[] = {
|
|||
{"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},
|
||||
{"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},
|
||||
KCmdLineLastOption
|
||||
};
|
||||
|
@ -140,14 +143,14 @@ extern "C" KDE_EXPORT int kdemain(int argc, char **argv) {
|
|||
//KApplication::disableAutoDcopRegistration();
|
||||
KApplication app(isGui);
|
||||
|
||||
bool gotArg = (args->count() == 1);
|
||||
bool gotFilenameArg = (args->count() == 1);
|
||||
|
||||
QString filename = gotArg
|
||||
QString filename = gotFilenameArg
|
||||
? QLatin1String(args->arg(0))
|
||||
: KStandardDirs::locateLocal("data", QLatin1String("konqueror/bookmarks.xml"));
|
||||
|
||||
if (!isGui) {
|
||||
CurrentMgr::self()->createManager(filename);
|
||||
CurrentMgr::self()->createManager(filename, QString());
|
||||
CurrentMgr::ExportType exportType = CurrentMgr::MozillaExport; // uumm.. can i just set it to -1 ?
|
||||
int got = 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();
|
||||
|
||||
QString dbusObjectName;
|
||||
if(args->isSet("dbusObjectName"))
|
||||
{
|
||||
dbusObjectName = QString::fromLocal8Bit(args->getOption("dbusObjectName"));
|
||||
}
|
||||
else
|
||||
{
|
||||
if(gotFilenameArg)
|
||||
dbusObjectName = QString();
|
||||
else
|
||||
dbusObjectName = "konqueror";
|
||||
}
|
||||
|
||||
args->clear();
|
||||
|
||||
bool readonly = false; // passed by ref
|
||||
|
||||
if (askUser(app, (gotArg ? filename : QString()), readonly)) {
|
||||
KEBApp *toplevel = new KEBApp(filename, readonly, address, browser, caption);
|
||||
if (askUser(app, (gotFilenameArg ? filename : QString()), readonly)) {
|
||||
KEBApp *toplevel = new KEBApp(filename, readonly, address, browser, caption, dbusObjectName);
|
||||
toplevel->show();
|
||||
return app.exec();
|
||||
}
|
||||
|
|
|
@ -129,14 +129,15 @@ void CurrentMgr::saveAs(const QString &fileName) { mgr()->saveAs(fileName); }
|
|||
void CurrentMgr::setUpdate(bool update) { mgr()->setUpdate(update); }
|
||||
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) {
|
||||
kDebug()<<"ERROR calling createManager twice"<<endl;
|
||||
disconnect(m_mgr, 0, 0, 0);
|
||||
// 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 &) ),
|
||||
SLOT( slotBookmarksChanged(const QString &, const QString &) ));
|
||||
|
@ -192,9 +193,12 @@ KEBApp *KEBApp::s_topLevel = 0;
|
|||
|
||||
KEBApp::KEBApp(
|
||||
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),
|
||||
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
|
||||
|
||||
|
@ -219,7 +223,7 @@ KEBApp::KEBApp(
|
|||
|
||||
m_canPaste = false;
|
||||
|
||||
CurrentMgr::self()->createManager(m_bookmarksFilename);
|
||||
CurrentMgr::self()->createManager(m_bookmarksFilename, m_dbusObjectName);
|
||||
|
||||
mBookmarkListView = new BookmarkListView();
|
||||
mBookmarkListView->setModel( BookmarkModel::self() );
|
||||
|
@ -263,7 +267,7 @@ void KEBApp::reset(const QString & caption, const QString & bookmarksFileName)
|
|||
{
|
||||
m_caption = caption;
|
||||
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();
|
||||
expandAll();
|
||||
updateActions();
|
||||
|
|
|
@ -76,7 +76,7 @@ public:
|
|||
KBookmarkManager* mgr() const { return m_mgr; }
|
||||
QString path() const;
|
||||
|
||||
void createManager(const QString &filename);
|
||||
void createManager(const QString &filename, const QString &dbusObjectName);
|
||||
void notifyManagers(KBookmarkGroup grp);
|
||||
void notifyManagers();
|
||||
bool managerSave();
|
||||
|
@ -104,7 +104,7 @@ class KEBApp : public KMainWindow {
|
|||
public:
|
||||
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();
|
||||
|
||||
void reset(const QString & caption, const QString & bookmarksFileName);
|
||||
|
@ -177,8 +177,8 @@ private:
|
|||
CmdHistory *m_cmdHistory;
|
||||
QString m_bookmarksFilename;
|
||||
QString m_caption;
|
||||
QString m_dbusObjectName;
|
||||
|
||||
private:
|
||||
BookmarkInfoWidget *m_bkinfo;
|
||||
|
||||
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.") );
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
|
|
|
@ -23,21 +23,17 @@
|
|||
|
||||
class KonqExtendedBookmarkOwner : public QObject, public KonqBookmarkOwner
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
KonqExtendedBookmarkOwner(KonqMainWindow *);
|
||||
virtual QString currentTitle() const;
|
||||
virtual QString currentUrl() const;
|
||||
virtual bool supportsTabs() 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 openInNewWindow(KBookmark bm);
|
||||
virtual void openFolderinTabs(KBookmark bm);
|
||||
|
||||
Q_SIGNALS:
|
||||
void openBookmarkSignal(KBookmark bm, Qt::MouseButtons mb, Qt::KeyboardModifiers km);
|
||||
|
||||
private:
|
||||
KonqMainWindow *m_pKonqMainWindow;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue