Arrange things so that "open parent" selects the file child when the parent is a directory
This commit is contained in:
parent
05db0dcd05
commit
ccaac8cf0e
5 changed files with 33 additions and 5 deletions
|
@ -930,13 +930,19 @@ void ResList::createPopupMenu(const QPoint& pos)
|
|||
}
|
||||
|
||||
popup->addAction(tr("Find &similar documents"), this, SLOT(menuExpand()));
|
||||
|
||||
Rcl::Doc pdoc;
|
||||
if (m_source.isNotNull() && m_source->getEnclosing(doc, pdoc))
|
||||
popup->addAction(tr("Preview P&arent document/folder"),
|
||||
this, SLOT(menuPreviewParent()));
|
||||
|
||||
popup->addAction(tr("&Open Parent document/folder"),
|
||||
this, SLOT(menuOpenParent()));
|
||||
|
||||
if (havedoc && doc.haspages && m_source->snippetsCapable())
|
||||
popup->addAction(tr("Open &Snippets window"),
|
||||
this, SLOT(menuOpenSnippets()));
|
||||
|
||||
popup->popup(mapToGlobal(pos));
|
||||
}
|
||||
|
||||
|
@ -983,6 +989,8 @@ void ResList::menuOpenParent()
|
|||
// No parent doc: show enclosing folder with app configured for
|
||||
// directories
|
||||
pdoc.url = path_getfather(doc.url);
|
||||
pdoc.meta[Rcl::Doc::keychildurl] = doc.url;
|
||||
pdoc.meta[Rcl::Doc::keyapptg] = "parentopen";
|
||||
pdoc.mimetype = "application/x-fsdirectory";
|
||||
emit editRequested(pdoc);
|
||||
}
|
||||
|
|
|
@ -745,11 +745,18 @@ void ResTable::createPopupMenu(const QPoint& pos)
|
|||
popup->addAction(tr("&Open"), this, SLOT(menuEdit()));
|
||||
popup->addAction(tr("Copy &File Name"), this, SLOT(menuCopyFN()));
|
||||
popup->addAction(tr("Copy &URL"), this, SLOT(menuCopyURL()));
|
||||
|
||||
if (m_detaildoc.ipath.empty())
|
||||
popup->addAction(tr("&Write to File"), this, SLOT(menuSaveToFile()));
|
||||
|
||||
popup->addAction(tr("Find &similar documents"), this, SLOT(menuExpand()));
|
||||
|
||||
RefCntr<DocSequence> source = m_model->getDocSource();
|
||||
Rcl::Doc pdoc;
|
||||
if (source.isNotNull() && source->getEnclosing(m_detaildoc, pdoc))
|
||||
popup->addAction(tr("Preview P&arent document/folder"),
|
||||
this, SLOT(menuPreviewParent()));
|
||||
|
||||
popup->addAction(tr("&Open Parent document/folder"),
|
||||
this, SLOT(menuOpenParent()));
|
||||
popup->popup(mapToGlobal(pos));
|
||||
|
@ -784,6 +791,8 @@ void ResTable::menuPreviewParent()
|
|||
// No parent doc: show enclosing folder with app configured for
|
||||
// directories
|
||||
pdoc.url = path_getfather(doc.url);
|
||||
pdoc.meta[Rcl::Doc::keychildurl] = doc.url;
|
||||
pdoc.meta[Rcl::Doc::keyapptg] = "parentopen";
|
||||
pdoc.mimetype = "application/x-fsdirectory";
|
||||
emit editRequested(pdoc);
|
||||
}
|
||||
|
@ -804,6 +813,8 @@ void ResTable::menuOpenParent()
|
|||
// No parent doc: show enclosing folder with app configured for
|
||||
// directories
|
||||
pdoc.url = path_getfather(doc.url);
|
||||
pdoc.meta[Rcl::Doc::keychildurl] = doc.url;
|
||||
pdoc.meta[Rcl::Doc::keyapptg] = "parentopen";
|
||||
pdoc.mimetype = "application/x-fsdirectory";
|
||||
emit editRequested(pdoc);
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
|
||||
namespace Rcl {
|
||||
const string Doc::keyurl("url");
|
||||
const string Doc::keychildurl("childurl");
|
||||
const string Doc::keyfn("filename");
|
||||
const string Doc::keyipt("ipath");
|
||||
const string Doc::keytp("mtype");
|
||||
|
|
|
@ -194,6 +194,9 @@ class Doc {
|
|||
// enforced in internfile.cpp and misc other bits of metadata-gathering
|
||||
// code
|
||||
static const string keyurl; // url
|
||||
// childurl. This is set when working with the parent of the result, to hold
|
||||
// the child of interest url, typically to highlight a directory entry
|
||||
static const string keychildurl;
|
||||
static const string keyfn; // file name
|
||||
static const string keyipt; // ipath
|
||||
static const string keytp; // mime type
|
||||
|
|
|
@ -17,7 +17,8 @@
|
|||
# - For pages of CHM and EPUB documents where we can choose to open the
|
||||
# parent document instead of a temporary html file.
|
||||
xallexcepts = application/pdf application/postscript application/x-dvi \
|
||||
text/html|gnuinfo text/html|chm text/html|epub
|
||||
text/html|gnuinfo text/html|chm text/html|epub \
|
||||
application/x-fsdirectory|parentopen
|
||||
|
||||
[view]
|
||||
# Pseudo entry used if the 'use desktop' preference is set in the GUI
|
||||
|
@ -77,7 +78,11 @@ text/rtf = libreoffice %f
|
|||
|
||||
application/x-chm = kchmviewer %f
|
||||
application/x-dia-diagram = dia %f
|
||||
|
||||
application/x-fsdirectory = dolphin %f
|
||||
#application/x-fsdirectory|parentopen = nautilus %(childurl)
|
||||
application/x-fsdirectory|parentopen = dolphin --select %(childurl) %f
|
||||
|
||||
application/x-gnuinfo = xterm -e "info -f %f"
|
||||
application/x-gnumeric = gnumeric %f
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue