~ubuntu-branches/debian/sid/kde-baseapps/sid

« back to all changes in this revision

Viewing changes to dolphin/src/panels/folders/treeviewcontextmenu.cpp

  • Committer: Package Import Robot
  • Author(s): Modestas Vainius, Eshat Cakar, Pino Toscano
  • Date: 2012-06-09 22:18:08 UTC
  • mfrom: (4.2.1) (6.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20120609221808-h1l0ekd5qmb8nefr
Tags: 4:4.8.4-1
* New upstream release.

[ Eshat Cakar ]
* Add watch file.
* Bump kde-sc-dev-latest build dependency to version 4:4.8.4.
* Update installed files.

[ Pino Toscano ]
* Move files of the konqueror documentation from kde-baseapps-data to
  konqueror itself.

Show diffs side-by-side

added added

removed removed

Lines of Context:
39
39
                                         const KFileItem& fileInfo) :
40
40
    QObject(parent),
41
41
    m_parent(parent),
42
 
    m_fileInfo(fileInfo)
 
42
    m_fileItem(fileInfo)
43
43
{
44
44
}
45
45
 
51
51
{
52
52
    KMenu* popup = new KMenu(m_parent);
53
53
 
54
 
    if (!m_fileInfo.isNull()) {
55
 
        KFileItemListProperties capabilities(KFileItemList() << m_fileInfo);
 
54
    if (!m_fileItem.isNull()) {
 
55
        KFileItemListProperties capabilities(KFileItemList() << m_fileItem);
56
56
 
57
57
        // insert 'Cut', 'Copy' and 'Paste'
58
58
        QAction* cutAction = new QAction(KIcon("edit-cut"), i18nc("@action:inmenu", "Cut"), this);
85
85
        KConfigGroup configGroup(globalConfig, "KDE");
86
86
        bool showDeleteCommand = configGroup.readEntry("ShowDeleteCommand", false);
87
87
 
88
 
        const KUrl url = m_fileInfo.url();
 
88
        const KUrl url = m_fileItem.url();
89
89
        if (url.isLocalFile()) {
90
90
            QAction* moveToTrashAction = new QAction(KIcon("user-trash"),
91
91
                                                    i18nc("@action:inmenu", "Move to Trash"), this);
105
105
        }
106
106
 
107
107
        popup->addSeparator();
108
 
 
109
 
        // insert 'Properties' entry
110
 
        QAction* propertiesAction = new QAction(i18nc("@action:inmenu", "Properties"), this);
111
 
        propertiesAction->setIcon(KIcon("document-properties"));
112
 
        connect(propertiesAction, SIGNAL(triggered()), this, SLOT(showProperties()));
113
 
        popup->addAction(propertiesAction);
114
 
 
115
 
        popup->addSeparator();
116
108
    }
117
109
 
 
110
    // insert 'Show Hidden Files'
118
111
    QAction* showHiddenFilesAction = new QAction(i18nc("@action:inmenu", "Show Hidden Files"), this);
119
112
    showHiddenFilesAction->setCheckable(true);
120
113
    showHiddenFilesAction->setChecked(m_parent->showHiddenFiles());
121
114
    popup->addAction(showHiddenFilesAction);
122
115
    connect(showHiddenFilesAction, SIGNAL(toggled(bool)), this, SLOT(setShowHiddenFiles(bool)));
123
116
 
 
117
    // insert 'Automatic Scrolling'
124
118
    QAction* autoScrollingAction = new QAction(i18nc("@action:inmenu", "Automatic Scrolling"), this);
125
119
    autoScrollingAction->setCheckable(true);
126
120
    autoScrollingAction->setChecked(m_parent->autoScrolling());
127
 
    popup->addAction(autoScrollingAction);
 
121
    // TODO: Temporary disabled. Horizontal autoscrolling will be implemented later either
 
122
    // in KItemViews or manually as part of the FoldersPanel
 
123
    //popup->addAction(autoScrollingAction);
128
124
    connect(autoScrollingAction, SIGNAL(toggled(bool)), this, SLOT(setAutoScrolling(bool)));
129
125
 
130
 
    popup->addSeparator();
131
 
    foreach (QAction* action, m_parent->customContextMenuActions()) {
132
 
        popup->addAction(action);
133
 
    }
134
 
 
 
126
    if (!m_fileItem.isNull()) {
 
127
        // insert 'Properties' entry
 
128
        QAction* propertiesAction = new QAction(i18nc("@action:inmenu", "Properties"), this);
 
129
        propertiesAction->setIcon(KIcon("document-properties"));
 
130
        connect(propertiesAction, SIGNAL(triggered()), this, SLOT(showProperties()));
 
131
        popup->addAction(propertiesAction);
 
132
    }
 
133
 
 
134
    QList<QAction*> customActions = m_parent->customContextMenuActions();
 
135
    if (!customActions.isEmpty()) {
 
136
        popup->addSeparator();
 
137
        foreach (QAction* action, customActions) {
 
138
            popup->addAction(action);
 
139
        }
 
140
    }
 
141
 
 
142
    QWeakPointer<KMenu> popupPtr = popup;
135
143
    popup->exec(QCursor::pos());
136
 
    popup->deleteLater();
 
144
    if (popupPtr.data()) {
 
145
        popupPtr.data()->deleteLater();
 
146
    }
137
147
}
138
148
 
139
149
void TreeViewContextMenu::populateMimeData(QMimeData* mimeData, bool cut)
140
150
{
141
151
    KUrl::List kdeUrls;
142
 
    kdeUrls.append(m_fileInfo.url());
 
152
    kdeUrls.append(m_fileItem.url());
143
153
    KUrl::List mostLocalUrls;
144
154
    bool dummy;
145
 
    mostLocalUrls.append(m_fileInfo.mostLocalUrl(dummy));
 
155
    mostLocalUrls.append(m_fileItem.mostLocalUrl(dummy));
146
156
    KonqMimeData::populateMimeData(mimeData, kdeUrls, mostLocalUrls, cut);
147
157
}
148
158
 
166
176
    const QMimeData* mimeData = clipboard->mimeData();
167
177
 
168
178
    const KUrl::List source = KUrl::List::fromMimeData(mimeData);
169
 
    const KUrl& dest = m_fileInfo.url();
 
179
    const KUrl& dest = m_fileItem.url();
170
180
    if (KonqMimeData::decodeIsCutSelection(mimeData)) {
171
181
        KonqOperations::copy(m_parent, KonqOperations::MOVE, source, dest);
172
182
        clipboard->clear();
177
187
 
178
188
void TreeViewContextMenu::rename()
179
189
{
180
 
    m_parent->rename(m_fileInfo);
 
190
    m_parent->rename(m_fileItem);
181
191
}
182
192
 
183
193
void TreeViewContextMenu::moveToTrash()
184
194
{
185
 
    KonqOperations::del(m_parent, KonqOperations::TRASH, m_fileInfo.url());
 
195
    KonqOperations::del(m_parent, KonqOperations::TRASH, m_fileItem.url());
186
196
}
187
197
 
188
198
void TreeViewContextMenu::deleteItem()
189
199
{
190
 
    KonqOperations::del(m_parent, KonqOperations::DEL, m_fileInfo.url());
 
200
    KonqOperations::del(m_parent, KonqOperations::DEL, m_fileItem.url());
191
201
}
192
202
 
193
203
void TreeViewContextMenu::showProperties()
194
204
{
195
 
    KPropertiesDialog* dialog = new KPropertiesDialog(m_fileInfo.url(), m_parent);
 
205
    KPropertiesDialog* dialog = new KPropertiesDialog(m_fileItem.url(), m_parent);
196
206
    dialog->setAttribute(Qt::WA_DeleteOnClose);
197
207
    dialog->show();
198
208
}