Add a copy full path to clipboard to open edtiors combobox

As requested on irc, and another common IDE has it at the same place. I
wonder whether we should have more options in that context menu. I
mainly put this in, because we don't have a good way to copy that full
path and I don't see a particular nice way to add it. Though I dislike
that it is only available in the context menu.
This commit is contained in:
dt
2009-06-18 18:09:08 +02:00
parent 1589fcf6ad
commit ac5736e558
2 changed files with 18 additions and 1 deletions

View File

@@ -50,6 +50,9 @@
#include <QtGui/QStyleOption>
#include <QtGui/QToolBar>
#include <QtGui/QToolButton>
#include <QtGui/QMenu>
#include <QtGui/QClipboard>
#ifdef Q_WS_MAC
#include <qmacstyle_mac.h>
#endif
@@ -341,6 +344,7 @@ EditorView::EditorView(EditorModel *model, QWidget *parent) :
m_editorList->setMinimumContentsLength(20);
m_editorList->setModel(m_model);
m_editorList->setMaxVisibleItems(40);
m_editorList->setContextMenuPolicy(Qt::CustomContextMenu);
QToolBar *editorListToolBar = new QToolBar;
@@ -383,6 +387,7 @@ EditorView::EditorView(EditorModel *model, QWidget *parent) :
tl->addWidget(top);
connect(m_editorList, SIGNAL(activated(int)), this, SLOT(listSelectionActivated(int)));
connect(m_editorList, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(listContextMenu(QPoint)));
connect(m_lockButton, SIGNAL(clicked()), this, SLOT(makeEditorWritable()));
connect(m_closeButton, SIGNAL(clicked()), this, SLOT(closeView()), Qt::QueuedConnection);
}
@@ -659,7 +664,18 @@ void EditorView::listSelectionActivated(int index)
}
}
void EditorView::listContextMenu(QPoint pos)
{
QModelIndex index = m_model->index(m_editorList->currentIndex(), 0);
QString fileName = m_model->data(index, Qt::UserRole + 1).toString();
if (fileName.isEmpty())
return;
QMenu menu;
menu.addAction(tr("Copy full path to clipboard"));
if (menu.exec(m_editorList->mapToGlobal(pos))) {
QApplication::clipboard()->setText(fileName);
}
}
SplitterOrView::SplitterOrView(Internal::EditorModel *model)
{

View File

@@ -149,6 +149,7 @@ private slots:
void checkEditorStatus();
void makeEditorWritable();
void listSelectionActivated(int index);
void listContextMenu(QPoint);
private:
void updateToolBar(IEditor *editor);