1 /***************************************************************************
2 * Copyright (C) 2008-2012 by Peter Penz <peter.penz19@gmail.com> *
3 * Copyright (C) 2010 by Christian Muehlhaeuser <muesli@gmail.com> *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the *
17 * Free Software Foundation, Inc., *
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
19 ***************************************************************************/
25 #include <panels/panel.h>
27 class KItemListController
;
29 class PlacesItemModel
;
31 class QGraphicsSceneDragDropEvent
;
34 * @brief Combines bookmarks and mounted devices as list.
36 class PlacesPanel
: public Panel
41 PlacesPanel(QWidget
* parent
);
42 virtual ~PlacesPanel();
45 void placeActivated(const KUrl
& url
);
46 void placeMiddleClicked(const KUrl
& url
);
47 void errorMessage(const QString
& error
);
50 virtual bool urlChanged();
51 virtual void showEvent(QShowEvent
* event
);
54 virtual void readSettings();
57 void slotItemActivated(int index
);
58 void slotItemMiddleClicked(int index
);
59 void slotItemContextMenuRequested(int index
, const QPointF
& pos
);
60 void slotViewContextMenuRequested(const QPointF
& pos
);
61 void slotItemDropEvent(int index
, QGraphicsSceneDragDropEvent
* event
);
62 void slotItemDropEventStorageSetupDone(int index
, bool success
);
63 void slotAboveItemDropEvent(int index
, QGraphicsSceneDragDropEvent
* event
);
64 void slotUrlsDropped(const KUrl
& dest
, QDropEvent
* event
, QWidget
* parent
);
65 void slotTrashUpdated(KJob
* job
);
66 void slotStorageSetupDone(int index
, bool success
);
71 void editEntry(int index
);
74 * Selects the item that has the closest URL for the URL set
75 * for the panel (see Panel::setUrl()).
77 void selectClosestItem();
79 void triggerItem(int index
, Qt::MouseButton button
);
82 KItemListController
* m_controller
;
83 PlacesItemModel
* m_model
;
86 KUrl m_storageSetupFailedUrl
;
87 Qt::MouseButton m_triggerStorageSetupButton
;
89 int m_itemDropEventIndex
;
90 QMimeData
* m_itemDropEventMimeData
;
91 QDropEvent
* m_itemDropEvent
;
94 #endif // PLACESPANEL_H