mirror of
https://invent.kde.org/system/dolphin
synced 2024-11-05 18:47:12 +00:00
34ff90696f
* Activate column on a mouse press event * Always synchronize the active column with the URL navigator and vice versa svn path=/trunk/KDE/kdebase/apps/; revision=681369
142 lines
4.3 KiB
C++
142 lines
4.3 KiB
C++
/***************************************************************************
|
|
* Copyright (C) 2006 by Peter Penz (peter.penz@gmx.at) *
|
|
* *
|
|
* This program is free software; you can redistribute it and/or modify *
|
|
* it under the terms of the GNU General Public License as published by *
|
|
* the Free Software Foundation; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
* This program is distributed in the hope that it will be useful, *
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
* GNU General Public License for more details. *
|
|
* *
|
|
* You should have received a copy of the GNU General Public License *
|
|
* along with this program; if not, write to the *
|
|
* Free Software Foundation, Inc., *
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
|
|
***************************************************************************/
|
|
|
|
#include "dolphincontroller.h"
|
|
|
|
#include <QPainter>
|
|
|
|
DolphinController::DolphinController(QObject* parent) :
|
|
QObject(parent),
|
|
m_showPreview(false),
|
|
m_showAdditionalInfo(false),
|
|
m_zoomInPossible(false),
|
|
m_zoomOutPossible(false)
|
|
{
|
|
}
|
|
|
|
DolphinController::~DolphinController()
|
|
{
|
|
}
|
|
|
|
void DolphinController::setUrl(const KUrl& url)
|
|
{
|
|
if (m_url != url) {
|
|
m_url = url;
|
|
emit urlChanged(url);
|
|
}
|
|
}
|
|
|
|
void DolphinController::triggerContextMenuRequest(const QPoint& pos)
|
|
{
|
|
emit activated();
|
|
emit requestContextMenu(pos);
|
|
}
|
|
|
|
void DolphinController::triggerActivation()
|
|
{
|
|
emit activated();
|
|
}
|
|
|
|
void DolphinController::indicateDroppedUrls(const KUrl::List& urls,
|
|
const QModelIndex& index,
|
|
QWidget* source)
|
|
{
|
|
emit urlsDropped(urls, index, source);
|
|
}
|
|
|
|
|
|
void DolphinController::indicateSortingChange(DolphinView::Sorting sorting)
|
|
{
|
|
emit sortingChanged(sorting);
|
|
}
|
|
|
|
void DolphinController::indicateSortOrderChange(Qt::SortOrder order)
|
|
{
|
|
emit sortOrderChanged(order);
|
|
}
|
|
|
|
void DolphinController::setShowPreview(bool show)
|
|
{
|
|
if (m_showPreview != show) {
|
|
m_showPreview = show;
|
|
emit showPreviewChanged(show);
|
|
}
|
|
}
|
|
|
|
void DolphinController::setShowAdditionalInfo(bool show)
|
|
{
|
|
if (m_showAdditionalInfo != show) {
|
|
m_showAdditionalInfo = show;
|
|
emit showAdditionalInfoChanged(show);
|
|
}
|
|
}
|
|
|
|
void DolphinController::triggerZoomIn()
|
|
{
|
|
emit zoomIn();
|
|
}
|
|
|
|
void DolphinController::triggerZoomOut()
|
|
{
|
|
emit zoomOut();
|
|
}
|
|
|
|
void DolphinController::drawHoverIndication(QWidget* widget,
|
|
const QRect& bounds,
|
|
const QBrush& brush)
|
|
{
|
|
QPainter painter(widget);
|
|
painter.save();
|
|
QBrush blendedBrush(brush);
|
|
QColor color = blendedBrush.color();
|
|
color.setAlpha(64);
|
|
blendedBrush.setColor(color);
|
|
|
|
const int radius = 10;
|
|
QPainterPath path(QPointF(bounds.left(), bounds.top() + radius));
|
|
path.quadTo(bounds.left(), bounds.top(), bounds.left() + radius, bounds.top());
|
|
path.lineTo(bounds.right() - radius, bounds.top());
|
|
path.quadTo(bounds.right(), bounds.top(), bounds.right(), bounds.top() + radius);
|
|
path.lineTo(bounds.right(), bounds.bottom() - radius);
|
|
path.quadTo(bounds.right(), bounds.bottom(), bounds.right() - radius, bounds.bottom());
|
|
path.lineTo(bounds.left() + radius, bounds.bottom());
|
|
path.quadTo(bounds.left(), bounds.bottom(), bounds.left(), bounds.bottom() - radius);
|
|
path.closeSubpath();
|
|
|
|
painter.setRenderHint(QPainter::Antialiasing);
|
|
painter.fillPath(path, blendedBrush);
|
|
painter.restore();
|
|
}
|
|
|
|
void DolphinController::triggerItem(const QModelIndex& index)
|
|
{
|
|
emit itemTriggered(index);
|
|
}
|
|
|
|
void DolphinController::emitItemEntered(const QModelIndex& index)
|
|
{
|
|
emit itemEntered(index);
|
|
}
|
|
|
|
void DolphinController::emitViewportEntered()
|
|
{
|
|
emit viewportEntered();
|
|
}
|
|
|
|
#include "dolphincontroller.moc"
|