[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/base/plasma/applets/previewer
From: Alessandro Diaferia <alediaferia () gmail ! com>
Date: 2008-07-18 9:39:23
Message-ID: 1216373963.780153.25384.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 834160 by adiaferia:
Fixed bug in recents action list. Added remove-from-history feature
M +32 -5 plasma-previewer.cpp
M +2 -0 plasma-previewer.h
--- trunk/playground/base/plasma/applets/previewer/plasma-previewer.cpp #834159:834160
@@ -59,6 +59,7 @@
Previewer::Previewer(QObject *parent, const QVariantList &args) : Plasma::Applet(parent, args),
close_i(0),
+ remove_i(0),
base(0),
m_dialog(0),
m_part(0),
@@ -102,7 +103,6 @@
{
setupPreviewDialog();
- connect(close_i, SIGNAL(clicked()), this, SLOT(closeFile()));
//connect(m_icon, SIGNAL(clicked()), this, SLOT(showHide()));
setAcceptDrops( true );
@@ -178,8 +178,8 @@
m_dialog->installEventFilter(filter);
+ m_dialog->setAttribute(Qt::WA_AlwaysShowToolTips);
-
d_lay = new QVBoxLayout(m_dialog);
d_lay->setSpacing(1);
d_lay->setMargin(0);
@@ -192,13 +192,23 @@
m_label->nativeWidget()->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
mime_icon = new QLabel();
mime_icon->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+
+ remove_i = new QToolButton(m_dialog);
+ remove_i->setAutoRaise(true);
+ remove_i->setIcon(KIcon("user-trash"));
+ remove_i->setToolTip(i18n("Close and remove from history"));
+
close_i = new QToolButton(m_dialog);
close_i->setAutoRaise(true);
close_i->setIcon(KIcon("dialog-close"));
+ connect(remove_i, SIGNAL(clicked()), this, SLOT(closeNRemoveCurrent()));
+ connect(close_i, SIGNAL(clicked()), this, SLOT(closeFile()));
+
QHBoxLayout *n_lay = new QHBoxLayout();
n_lay->addWidget(mime_icon);
n_lay->addWidget(m_label->nativeWidget());
+ n_lay->addWidget(remove_i);
n_lay->addWidget(close_i);
d_lay->addLayout(n_lay);
@@ -303,6 +313,22 @@
m_dialog->hide();
}
+void Previewer::closeNRemoveCurrent()
+{
+ closeFile();
+ delete m_part;
+ m_part = 0;
+ KUrl cur(currentFile());
+ int index = previewHistory().indexOf(cur);
+
+ if ( index != -1 ){
+ kDebug()<<"index valid!"<<index;
+
+ delete recents->actions().at(index);
+ recents->actions().removeAt(index);
+ }
+
+}
void Previewer::dropEvent(QGraphicsSceneDragDropEvent *event)
{
@@ -359,9 +385,10 @@
QList<QUrl> Previewer::previewHistory()
{
QList<QUrl> history;
- for(int i = 0; i < actions.count(); i++){
- if(actions[i]->data().canConvert(QVariant::Url))
- history<<actions[i]->data().toUrl();
+ //for(int i = 0; i < actions.count(); i++){
+ for(int i = 0; i < recents->actions().count(); i++){
+ if(recents->actions()[i]->data().canConvert(QVariant::Url))
+ history<<recents->actions()[i]->data().toUrl();
}
return history;
}
--- trunk/playground/base/plasma/applets/previewer/plasma-previewer.h #834159:834160
@@ -64,6 +64,7 @@
private:
//Plasma::Icon *m_icon;
QToolButton *close_i;
+ QToolButton *remove_i;
QWidget *base;
KMenu *m_menu;
Plasma::Dialog *m_dialog;
@@ -98,6 +99,7 @@
virtual void reopenPreview();
virtual void stayOnTop(bool);
virtual void openFile(KUrl u = KUrl());
+ virtual void closeNRemoveCurrent();
public slots:
virtual void openFile(QString);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic