#include <qlabel.h>
#include <qtimer.h>
#include <qpushbutton.h>
-#include <q3vbox.h>
+
#include <q3vgroupbox.h>
#include <q3popupmenu.h>
#include <qpainter.h>
#include <kdialog.h>
#include <kglobalsettings.h>
#include <kfilemetainfo.h>
+#include <kvbox.h>
-#include "dolphin.h"
+#include "dolphinmainwindow.h"
#include "pixmapviewer.h"
#include "dolphinsettings.h"
-InfoSidebarPage::InfoSidebarPage(QWidget* parent) :
- SidebarPage(parent),
+InfoSidebarPage::InfoSidebarPage(DolphinMainWindow* mainWindow, QWidget* parent) :
+ SidebarPage(mainWindow, parent),
m_multipleSelection(false),
m_pendingPreview(false),
m_timer(0),
sep2->setFixedHeight(1);
// actions
- m_actionBox = new Q3VBox(this);
+ m_actionBox = new KVBox(this);
m_actionBox->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
// Add a dummy widget with no restriction regarding a vertical resizing.
layout->addWidget(m_actionBox);
layout->addWidget(dummy);
- connect(&Dolphin::mainWin(), SIGNAL(selectionChanged()),
+ connect(mainWindow, SIGNAL(selectionChanged()),
this, SLOT(showItemInfo()));
connectToActiveView();
if (!url.isEmpty() && !m_multipleSelection) {
m_urlCandidate = url;
- m_timer->start(300, true);
+ m_timer->setSingleShot(true);
+ m_timer->start(300);
}
}
m_multipleSelection = false;
// show the preview...
- DolphinView* view = Dolphin::mainWin().activeView();
- const KFileItemList* selectedItems = view->selectedItems();
- if ((selectedItems != 0) && selectedItems->count() > 1) {
+ DolphinView* view = mainWindow()->activeView();
+ const KFileItemList selectedItems = view->selectedItems();
+ if (selectedItems.count() > 1) {
m_multipleSelection = true;
}
K3Icon::NoGroup,
K3Icon::SizeEnormous);
m_preview->setPixmap(icon);
- m_name->setText(i18n("%1 items selected").arg(selectedItems->count()));
+ m_name->setText(i18n("%1 items selected",selectedItems.count()));
}
else if (!applyBookmark()) {
// try to get a preview pixmap from the item...
void InfoSidebarPage::startService(int index)
{
- DolphinView* view = Dolphin::mainWin().activeView();
+ DolphinView* view = mainWindow()->activeView();
if (view->hasSelection()) {
KUrl::List selectedUrls = view->selectedUrls();
KDEDesktopMimeType::executeService(selectedUrls, m_actionsVector[index]);
{
cancelRequest();
- DolphinView* view = Dolphin::mainWin().activeView();
+ DolphinView* view = mainWindow()->activeView();
connect(view, SIGNAL(signalRequestItemInfo(const KUrl&)),
this, SLOT(requestDelayedItemInfo(const KUrl&)));
connect(view, SIGNAL(signalUrlChanged(const KUrl&)),
// The methods beginInfoLines(), addInfoLine() and endInfoLines()
// take care of this.
beginInfoLines();
- DolphinView* view = Dolphin::mainWin().activeView();
+ DolphinView* view = mainWindow()->activeView();
if (!view->hasSelection()) {
KFileItem fileItem(S_IFDIR, KFileItem::Unknown, m_shownUrl);
fileItem.refresh();
// of KFileItems. If no selection is given, a temporary KFileItem
// by the given Url 'url' is created and added to the list.
KFileItem fileItem(S_IFDIR, KFileItem::Unknown, m_shownUrl);
- KFileItemList localList;
- const KFileItemList* itemList = Dolphin::mainWin().activeView()->selectedItems();
- if ((itemList == 0) || itemList->isEmpty()) {
+ KFileItemList itemList = mainWindow()->activeView()->selectedItems();
+ if (itemList.isEmpty()) {
fileItem.refresh();
- localList.append(&fileItem);
- itemList = &localList;
+ itemList.append(&fileItem);
}
// 'itemList' contains now all KFileItems, where an item information should be shown.
if ((*it) == "all/allfiles") {
// The service type is valid for all files, but not for directories.
// Check whether the selected items only consist of files...
- QListIterator<KFileItem*> mimeIt(*itemList);
+ QListIterator<KFileItem*> mimeIt(itemList);
insert = true;
while (insert && mimeIt.hasNext()) {
KFileItem* item = mimeIt.next();
// Check whether the MIME types of all selected files match
// to the mimetype of the service action. As soon as one MIME
// type does not match, no service menu is shown at all.
- QListIterator<KFileItem*> mimeIt(*itemList);
+ QListIterator<KFileItem*> mimeIt(itemList);
insert = true;
while (insert && mimeIt.hasNext()) {
KFileItem* item = mimeIt.next();
const QString mimeType(item->mimetype());
- const QString mimeGroup(mimeType.left(mimeType.find('/')));
+ const QString mimeGroup(mimeType.left(mimeType.indexOf('/')));
insert = (*it == mimeType) ||
((*it).right(1) == "*") &&
- ((*it).left((*it).find('/')) == mimeGroup);
+ ((*it).left((*it).indexOf('/')) == mimeGroup);
}
}
m_hover(false),
m_index(index)
{
- setEraseColor(colorGroup().background());
+ setEraseColor(palette().brush(QPalette::Background).color());
setFocusPolicy(Qt::NoFocus);
connect(this, SIGNAL(released()),
this, SLOT(slotReleased()));
{
}
-void ServiceButton::drawButton(QPainter* painter)
+void ServiceButton::paintEvent(QPaintEvent* event)
{
+ QPainter painter(this);
const int buttonWidth = width();
const int buttonHeight = height();
foregroundColor = KGlobalSettings::highlightedTextColor();
}
else {
- backgroundColor = colorGroup().background();
+ backgroundColor = palette().brush(QPalette::Background).color();
foregroundColor = KGlobalSettings::buttonTextColor();
}
// draw button background
- painter->setPen(Qt::NoPen);
- painter->setBrush(backgroundColor);
- painter->drawRect(0, 0, buttonWidth, buttonHeight);
+ painter.setPen(Qt::NoPen);
+ painter.setBrush(backgroundColor);
+ painter.drawRect(0, 0, buttonWidth, buttonHeight);
const int spacing = KDialog::spacingHint();
const int y = (buttonHeight - K3Icon::SizeSmall) / 2;
const QIcon* set = iconSet();
if (set != 0) {
- painter->drawPixmap(x, y, set->pixmap(QIcon::Small, QIcon::Normal));
+ painter.drawPixmap(x, y, set->pixmap(QIcon::Small, QIcon::Normal));
}
x += K3Icon::SizeSmall + spacing;
// draw text
- painter->setPen(foregroundColor);
+ painter.setPen(foregroundColor);
const int textWidth = buttonWidth - x;
QFontMetrics fontMetrics(font());
const bool clipped = fontMetrics.width(text()) >= textWidth;
//const int align = clipped ? Qt::AlignVCenter : Qt::AlignCenter;
- painter->drawText(QRect(x, 0, textWidth, buttonHeight), Qt::AlignVCenter, text());
+ painter.drawText(QRect(x, 0, textWidth, buttonHeight), Qt::AlignVCenter, text());
if (clipped) {
// Blend the right area of the text with the background, as the
const int greenInc = (foregroundColor.green() - backgroundColor.green()) / blendSteps;
const int blueInc = (foregroundColor.blue() - backgroundColor.blue()) / blendSteps;
for (int i = 0; i < blendSteps; ++i) {
- painter->setClipRect(QRect(x + textWidth - i, 0, 1, buttonHeight));
- painter->setPen(blendColor);
- painter->drawText(QRect(x, 0, textWidth, buttonHeight), Qt::AlignVCenter, text());
+ painter.setClipRect(QRect(x + textWidth - i, 0, 1, buttonHeight));
+ painter.setPen(blendColor);
+ painter.drawText(QRect(x, 0, textWidth, buttonHeight), Qt::AlignVCenter, text());
blendColor.setRgb(blendColor.red() + redInc,
blendColor.green() + greenInc,